QA@IT

JavaでのString型文字列同士の比較

24300 PV

equalsメソッドを使ってある文字列Aとその他文字列B,C,D, ...が等しいか比較したいのですが
equalsメソッドでは引数として2つ以上の文字列を引数として渡せないようで困っています。
以下のようにif文で処理を分岐させたいのですがこの場合複数の文字列B,C,Dとを比較するための方法があればご教授していただけると助かります。

String str = "A文字列";
if(str.equals("B文字列"))
{
....
}



String str = "A文字列";
//以下の記述のような感じで行いたい
if(str.equals("B文字列","C文字列","D文字列", ....))
{
....
}

回答

文字列Aと文字列B、C、D、、、との比較ということですが、これは、AがB、C、D、、、のいずれかに一致するかどうかを調べたいということでよろしいでしょうか。
であれば、java.util.List<String>インタフェースを実装するリストに文字列B、C、Dを含めたうえで、List<String>#contains(文字列A)で比較できるかと思います。

編集 履歴 (1)
  • 回答ありがとうございます。
    以下のように書いたところできました。
    String[] str = {"文字列B","文字列C","文字列D"};
    List list = Arrays.asList(str);
    if(list.Contains("文字列A"))
    どうもありがとうございました。
    -
  • SaiRyoさん回答が役立ったら、ぜひ上矢印を押して + 1し、緑色のチェックボタンを押して Accept してください。 -
  • +1はレピュテーションが15以上必要ですので、現状Acceptのみですね。 -
  • まだ勝手がわかっていなかったので教えていただきありがとうございます。 -
ウォッチ

この質問への回答やコメントをメールでお知らせします。