我有两个字符串,一个是用户输入的,一个是线程的名称。我输入了应该与线程相同的名称。为了验证这一点,我有程序输出
System.out.println("DS:" + DeamonMain.threadNameFinal + "CN:" +getName());
哪个打印
DS:Thread-66CN:Thread-66
现在这些似乎是相同的字符串。但是,当我使用它测试它的有效性时
boolean factChecker = DeamonMain.threadNameFinal == getName();
System.out.println(factChecker);
它打印错误...
为什么是这样?这与 getName() 有关系吗?字符串有什么不同,为什么会这样?