前提・実現したいこと
List<Test> testList = (DBからデータを取得する。)
このtestList内のデータと比較したいデータで一致するものがあるか調べたい。
Test.java
Java
1package test.entities; 2public class Test { 3 private int id; 4 private String name; 5 public int getId(){ 6 return id; 7 } 8 public void setId(int id){ 9 this.id = id; 10 } 11 public String getName(){ 12 return name; 13 } 14 public void setName(String name){ 15 this.name = name; 16 } 17}
例:
入力された都道府県が関東(1都6県)に一致するか調べたい。
testListには以下の情報が
id:1
name:東京都
id:2
name:千葉県
id:3
name:神奈川県
id:4
name:埼玉県
id:5
name:茨城県
id:6
name:群馬県
id:7
name:栃木県
以下の文字列が入力された場合の結果を示す。
・東京都⇒true
・沖縄県⇒false
・群馬⇒false
・京都⇒false
発生している問題・エラーメッセージ
現在、以下のようなコードを書いているが一致しないときfalseとなるが、一致した場合にtrueにならない。
Listをぐるっと回したとき、すべてが一致したらtrue。一致しないものがあったら、false。となる。
対象の文字列が複数指定可能な場合などはListに格納されているためその場合はその考慮も必要ですが、対象の文字列のList形式はList<String> exampleListのため、以下で問題ない認識です。(まだ、検証できていませんが)
Java
1for (String str : exampleList) { 2 if (!Arrays.asList(testList).contains(str.getName())) { 3 flg = false; 4 } 5}
該当のソースコード
Java
1for (Test t : testList) { 2 if (test.getId().equals("対象のデータ")) { 3 flg = false; 4 } 5}
試したこと
Java
1for (Test t : testList) { 2 if (!test.getId().equals("対象のデータ")) { 3 flg = false; 4 } else { 5 flg = true; 6 } 7}
これだと、最後がtrueかfalseかでその後の処理が変ってしまう…
補足情報(FW/ツールのバージョンなど)
Java8、Spring

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。