java中的String内存分配原理

eg:

  String str1="abc";
  String str2="abc";
  if(str1==str2){
    System.out.println("等于");//输出结果为:等于
  }
  if(str1.equals(str2)){
    System.out.println("equals");//输出结果为:equals
  }

原理图如下:

eg: 

   String str1="abc";

   String str2=new String("abc");

  if(str1==str2){
    System.out.println("等于");//报错
  }
  if(str1.equals(str2)){
    System.out.println("equals");//输出结果为:equals
  }

 

 

  

原文地址:https://www.cnblogs.com/dopaer/p/6438218.html