小编ana*_*kun的帖子

为什么new String() + new String() 在JDK8下返回不同的结果

以下代码在JDK8 1.8.0_171下有不同的结果

@Test
public void test2() {
    String s1 = new String("a") + new String("a");
    s1.intern();
    String s2 = "aa";
    System.out.println(s1 == s2); //true
}
@Test
public void test3() {
    String s1 = new String("1") + new String("1");
    s1.intern();
    String s2 = "11";
    System.out.println(s1 == s2); //false
}
Run Code Online (Sandbox Code Playgroud)

唯一的区别是值:“a”而不是“1”,我得到的结果是不同的。为什么是这样?

java string

4
推荐指数
1
解决办法
100
查看次数

标签 统计

java ×1

string ×1