-4

or 演算子を使用して複数の値を持つ文字列をチェックしたいのですが、可能ですか?

like if(str.equals("A" || "B" || "C")){
//do this 
}
else if(str.equals("D" || "E" || "F")){
//do that
}

|| コンパイル中にエラーが発生します。文字列では使用できません

4

3 に答える 3

11

if(str.equals("A") || str.equals("B") || str.equals("C")){ .... }

条件を分ける必要があります。

于 2013-08-27T21:08:22.090 に答える
5

この場合は必要ありませんOR。同じ条件を次のように記述できます。

if (Arrays.asList("A", "B", "C").contains(str)) {
    ...
}

このテストは、テスト文字列strが の呼び出しで指定されたリストに含まれている場合に成功します。このリストはasList、便利なように可変数のパラメーターを受け取ります。

于 2013-08-27T21:10:06.950 に答える
5

switchJava 7 でa を使用することもできます。

switch (str) {
case "A":
case "B":
case "C":
    // do this
    break;
case "D":
case "E":
case "F":
    // do that
    break;
}

比較したい文字列が多数ある場合、これは読みやすいかもしれません。switchリファレンスについては、ステートメントチュートリアルの「switch ステートメントでの文字列の使用」セクションを参照してください。

于 2013-08-27T21:10:36.330 に答える