本サイトはプロモーション(広告)が含まれています。

【Java】 if文でin句はないので代替するには「containsメソッド」や「論理演算子」が妥当と思う件

【Java】 if文でin句はないので代替するには「containsメソッド」や「論理演算子」が妥当と思う件

 SQLでよく使用されるin句(指定した複数の値に合致するデータを抽出すること)

 Javaでも指定した複数の値に合致するデータがある場合に処理をしたい。

 そういった場合は、どのようにすればよいかいくつか考えてみました。

複数条件のいずれかに該当する場合は論理演算子の「||」を使用すればよい

 たとえば、複数の条件のいずれかに該当するというケースであれば「||」を使用すれば良いです。

 「||」はいずれかに合致する場合、trueとなるので、in句(指定した複数の値に合致するデータを抽出すること)の条件に近いのではと思います。

// いずれかに該当する場合、trueとなる
int i = 0;
if(i == 1 || i == 2 || i == 0) {
    System.out.println("条件いずれかに合致");
} else {
    System.out.println("不一致");
}
// 実行結果
条件いずれかに合致
// 実行結果(i=3)とした場合
不一致

値を含むという場合で条件判定をする場合は「containsメソッド」を使用すればよい

文字列の中で、特定の文字を含むという場合やListの中で、対象の値を持つという条件判定であれば「containsメソッド」を使用すればよいです。

//特定の文字列を含む
String moji = "testmoji";
if (moji.contains("mo")) {
    System.out.println("mo含む");
}
// 実行結果
mo含む

//特定の値を含む
List<String> list = new ArrayList <>();
list.add("テスト");
list.add("文字");
if (list.contains("文字")) {
    System.out.println("文字含む");
}
// 実行結果
文字含む

Javaの条件分岐について次の記事にまとめてあります。

 

Javaの記事一覧へ

PAGE TOP