在Java中,"=="用于字符串连接的情况下。
- 论坛
- 在Java中,"=="用于字符串连接的情况下。
14 浏览
在Java中,"=="用于字符串连接的情况下。
String a = "devender"; String b = "devender"; String c = "dev"; String d = "dev" + "ender"; String e = c + "ender"; System.out.println(a == b); //情况1: 输出true System.out.println(a == d); //情况2: 输出true System.out.println(a == e); //情况3: 输出false
a和b都指向字符串常量池中的相同字符串字面量。所以情况1为true
。
String d = "dev" + "ender";
实际上会被内部处理为:
String d = new StringBuilder().append("dev").append("ender").toString();
为什么a和d指向相同的引用,而a和e不指向相同的引用?