String a = new String ("TEST");
String b = new String ("TEST");
if(a == b) {
System.out.println ("TRUE");
} else {
System.out.println ("FALSE");
}
Run Code Online (Sandbox Code Playgroud)
我试了一下它打印出来FALSE,我想知道原因.
提前致谢.
Alb*_*gni 14
它打印FALSE.
的==运算符比较对象的引用,a并且b是对两个不同的对象的引用,因此FALSE.
Guido说:
另外,引用是不同的,因为字符串是使用new运算符创建的.如果你创建它们String a = "TEST"; String b = "TEST";那么输出可能是TRUE因为JVM检查它保留的String池中是否存在匹配的String对象,因此将重用相同的对象.
| 归档时间: |
|
| 查看次数: |
1175 次 |
| 最近记录: |