当使用intern进行常量比较的时候,如果拼接后的字符串是基本类型的时候,比较都是false,一下运行的结果都是false等等
String s1 = new StringBuilder("ch").append("ar").toString();
System.out.println(s1.intern()==s1);
String s2 = new StringBuilder("in").append("t").toString();
System.out.println(s2.intern()==s2);
String s3 = new StringBuilder("sho").append("rt").toString();
System.out.println(s3.intern()==s3);
String s4 = new StringBuilder("by").append("te").toString();
System.out.println(s4.intern()==s4);
String s5 = new StringBuilder("lo").append("ng").toString();
System.out.println(s5.intern()==s5);
String s6 = new StringBuilder("flo").append("at").toString();
System.out.println(s6.intern()==s6);
String s7 = new StringBuilder("dou").append("ble").toString();
System.out.println(s7.intern()==s7);
String s8 = new StringBuilder("ja").append("va").toString();
System.out.println(s8.intern()==s8);
本文探讨了在Java中使用intern方法进行常量池中的数据比较时遇到的问题,特别是当比较基本类型字符串时,结果可能为false的情况。
16万+

被折叠的 条评论
为什么被折叠?



