回答編集履歴

1

追記

2015/06/16 13:15

投稿

argius
argius

スコア9388

test CHANGED
@@ -61,3 +61,67 @@
61
61
  }
62
62
 
63
63
  ```
64
+
65
+
66
+
67
+ ---
68
+
69
+
70
+
71
+ (追記)
72
+
73
+
74
+
75
+
76
+
77
+ ループを使わない方法について。
78
+
79
+
80
+
81
+
82
+
83
+ Java8なら、
84
+
85
+ ```lang-java
86
+
87
+ if (list.stream().anyMatch(x -> x.contains(keyword))) {
88
+
89
+
90
+
91
+ }
92
+
93
+ ```
94
+
95
+
96
+
97
+ Java8がダメなら、Apache Commons Collectionsの[CollectionUtils.exists](https://commons.apache.org/proper/commons-collections/apidocs/org/apache/commons/collections4/CollectionUtils.html#filter%28java.lang.Iterable,%20org.apache.commons.collections4.Predicate%29)を使うと同じようなことができます。
98
+
99
+
100
+
101
+
102
+
103
+
104
+
105
+ それもダメで、どうしても一発で判定したいなら、
106
+
107
+ ```lang-java
108
+
109
+ if (String.valueOf(list).contains(keyword) {
110
+
111
+ // do something
112
+
113
+ }
114
+
115
+ ```
116
+
117
+ という方法があります。`list`を文字列にしてしまうのです。
118
+
119
+ ただし、`list`と`keyword`の文字列にスペースとカンマを含まないという前提が無いとダメです。
120
+
121
+ それに、これは**まったくお薦めしない方法**です。
122
+
123
+
124
+
125
+ どうしても使うなら、リスクを踏まえたうえで、限定的に使うようにしてください。
126
+
127
+