1

重複の可能性:
Java で文字列を比較するにはどうすればよいですか?

|| を使用して striong を比較しようとしています。オペレーター..

if(publisher != "Niho books" || publisher != "Diamond Comics" )

これで何が間違っていますか?文字列はこのように比較できません??

4

6 に答える 6

6

これはうまくいくはずです:

if (!"Niho books".equals(publisher) || !"Diamond Comics".equals(publisher))

http://www.leepoint.net/notes-java/data/strings/12stringcomparison.html

  • 文字列比較には==,を使用しないでください!=
  • equals()publisher.equals()パブリッシャーまたは文字列 (または) の後に移動できます。パブリッシャーが nullpointer 例外を取得しない"string".equals()ため、2 番目の方が良いと思います。nullしかし、好きなように/自分に合った方法で行ってください
于 2012-06-11T08:26:08.727 に答える
4

このように、コンテンツを比較しているのではありません...参照を比較しています。

内容を比較したい場合は、

publisher.equals("Niho books")

or 

publisher.equalsIgnoreCase("Niho books")
于 2012-06-11T08:27:38.947 に答える
3

Java で文字列を比較するために!=orを使用しないでください。代わりに==使用してください。and演算子は、オブジェクトの内容ではなく参照を比較.equals()します!===

if (!publisher.equals("Niho books") || !publisher.equals("Diamond Comics"))
于 2012-06-11T08:27:20.153 に答える
2

文字列では、equals() は値の等価性をテストしますが、!= および == は参照の等価性をテストします。

于 2012-06-11T08:28:57.610 に答える
1

いいえ、文字列は次のように比較する必要があります。

publisher.equals("Niho books")
于 2012-06-11T08:26:31.903 に答える
1

http://www.devdaily.com/java/edu/qanda/pjqa00001.shtmlこれを読む

于 2012-06-11T08:26:57.427 に答える