为什么
KeyEvent.getKeyText(0).substring(0, 7) == "Unknown"
时返回false
System.out.print(KeyEvent.getKeyText(0).substring(0, 7));
完全打印"未知"?
答案 0 :(得分:2)
在Java中,字符串是对象,因此不应与==
进行比较。您必须在字符串上调用equals来比较内容。
如果您将它们与==
进行比较,则可以通过引用对它们进行比较。
KeyEvent.getKeyText(0).substring(0, 7).equals("Unknown");
替代方案将包含:
KeyEvent.getKeyText(0).contains("Unknown");
请参阅此帖子:Java String.equals versus ==