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 .......

上一篇:软件工程结对开发——返回一个整数数组中最大子数组的和(JAVA)


下一篇:Python Select模型(程序流程)(转)