[面试题]一道看似简单的面试题引发的血案
先上题目:
以下代码运行结果是( )
String s1 = "hello";
String s2 = "he";
String s3 = s2 + "llo";
System.out.println(s1 == s3);
看到使用直接赋值理所当然想到常量池,然后以为以+拼接出来的字符串当然也会放入常量池就填了True
然后惨被打脸
创建字符串对象时,一般有几种情况:
1,直接赋值:直接赋值时会先去常量池寻找,如果常量池有该字符常量,则直接让变量指向常量池引用;如果没有就将字符串放入常量池.
原创
2021-04-19 16:45:00 ·
113 阅读 ·
0 评论