【发布时间】:2013-05-01 16:20:24
【问题描述】:
这怎么会是真的:
String sOne = new String();
sOne = "one";
String sTwo = new String();
sTwo = "one";
System.out.println(sOne == sTwo ? "true": "false");
但这打印错误:
String sOne = new String("one");
String sTwo = new String("one");
System.out.println(sOne == sTwo ? "true": "false");
他们不应该都打印假吗?...我知道字符串是不可变的,但我不明白为什么不使用构造函数初始化会导致不同的输出
【问题讨论】:
标签: java string immutability