30秒搞定String面试

Java 语言中,无论新菜鸟,还是老司机,真正了解String内存的很少。关于String 的试题,花样很多。== 在什么情况下是true,什么情况是false。我总结出如下3点让你彻底结束对String的模糊感。无论怎么变化,都离不开以下3种类型:

1、常量池存取(同一引用):

  String  str="a";  或 String str="a"+"b";(编译后:"ab")

2、堆内存构建(新对象):

  String  str=new String("1");

3、引用拼接(类似于StringBuild 的 append,每次拼接都产生新的对象):

      String  str1="a";

      String  str2="b";

      String  str3=new String("c");

   String  str4=new String("c");

      String  strs1=str1+str2;   或  str1+="a";    或 String strs2=str1+str3; 或 String strs5=str3+str4 ....... 

30秒搞定String面试

全文结束