为什么这个程序输出" false"?

时间:2017-08-01 01:13:13

标签: java string

String s1 = "testing";
String s2 = new String("testing");

System.out.println((s1.toString() == s2.toString()) ? "True":"False");

System.out.println(("another" == "another") ? "True":"False");

输出:

我知道我们不应该使用==来比较Java中的字符串,因为它会比较对这些对象的引用,而不是字符串本身,因此输出会是意外的。但如果我们比较两个字符串,它应该输出true。为什么会这样?另一方面,您可以看到第二个语句输出true作为例外。

0 个答案:

没有答案