Java 字符串的奇怪问题

Java 字符串的奇怪问题,java,string,oop,Java,String,Oop,我正在做一个多人游戏。。我想到了一个非常奇怪的情况。 有可能吗 System.out.println(foo); // left System.out.println(foo instanceof String) // true System.out.println(foo == "left") // false 我不明白这怎么可能 我真的不认为发布我所有的代码是个好主意。 你知道为什么会这样吗?我怎样才能修好它 提前感谢您不应该通过==

我正在做一个多人游戏。。我想到了一个非常奇怪的情况。
有可能吗

System.out.println(foo);                    // left
System.out.println(foo instanceof String)  // true
System.out.println(foo == "left")         // false
我不明白这怎么可能

我真的不认为发布我所有的代码是个好主意。
你知道为什么会这样吗?我怎样才能修好它


提前感谢

您不应该通过==运算符比较字符串,而应该使用equals方法。

为什么您认为这是不可能的?是
foo
String实例吗?@JakubHr Yes。。正如您在代码的第二行中所看到的,可能流行的问题是这样的。许多人问times@sankrish我找不到答案。。我在谷歌上搜索,找不到。lol很抱歉,这是重复的:(