可能重复:
如何比较 Java 中的字符串?
我正在尝试使用 || 比较一个字符串 操作员..
if(publisher != "Niho books" || publisher != "Diamond Comics" )
这有什么问题?字符串不能这样比较??
可能重复:
如何比较 Java 中的字符串?
我正在尝试使用 || 比较一个字符串 操作员..
if(publisher != "Niho books" || publisher != "Diamond Comics" )
这有什么问题?字符串不能这样比较??
这应该有效:
if (!"Niho books".equals(publisher) || !"Diamond Comics".equals(publisher))
http://www.leepoint.net/notes-java/data/strings/12stringcomparison.html
==
,!=
进行字符串比较equals()
可以在发布者之后或在您的字符串之后(publisher.equals()
或"string".equals()
),我认为第二个可能更好,因为如果您的发布者是null
您将不会得到空指针异常。但是你喜欢/适合你吗通过这种方式,您不是在比较内容......您是在比较参考资料。
如果要比较内容,请使用
publisher.equals("Niho books")
or
publisher.equalsIgnoreCase("Niho books")
不要使用!=
或==
比较 Java 中的字符串。改为使用.equals()
。!=
and==
运算符比较引用,而不是对象的内容。
if (!publisher.equals("Niho books") || !publisher.equals("Diamond Comics"))
在字符串中,equals() 测试值的相等性,其中 != 和 == 测试引用的相等性。
不,字符串应该像这样比较:
publisher.equals("Niho books")