String和常量池

1.Java 会确保一个字符串常量只有一个拷贝

 2.用new String() 创建的字符串不是常量,不能在编译期就确定,所以new String() 创建的字符串不放入常量池中,它们有自己的地址空间

3.编译器可以在编译期间确定的,如常量或者final修饰的,则在编译器优化确定

String s1="abc";

String s2="abc";

String s3="a"+"bc"  //注意,编译器会优化成:String s3="abc";

String s4=new String("abc");

String s5="a";      ???

String s6="bc";

String s7=s5+"bc";

String s8=s5+s6;

String s9=String.valueOf("abc")

String s10=String.valueOf(s1);

String s11=new String(s1);  ???

String s12=s4.inter();

猜你喜欢

转载自www.cnblogs.com/heyboom/p/9112948.html
今日推荐