2017-11-05 8 views
3

簡素化する方法があります:私は簡素化する場合、条件

if(a == (b || o || j || ...)) 
{ 
    ... 
} 

のような何かができると思っ

if(a == b || a == o || a == j || a ==....) 
{ 
    ... 
} 

は、しかし、それは

+2

それほど単純ではありません。値をリストに入れ、 'contains()'を使うことができます。 –

+0

b、o、jなどが定数である場合、Set(java 9: 'Set.of(b、o、j).contains(a)'。 'Arrays.asList(b、o、j))を作ることができます。 –

+0

残念なことに 'if'を簡略化することはできません' switch'ステートメントがあなたのケースで意味をなさない場合、複数の 'case'を一緒に持つことができます。コレクションベースの提案はおそらく最も理にかなっています。 – dave

答えて

4

が作成間違った構文であることが判明aと他の要素ののの可変値を取る方法、次にあなたは要素の上のストリームを取得し、anyがaの値と等しいかどうかを確認します。

例:

public boolean anyMatch(int a, int... values){ 
     return Arrays.stream(values).anyMatch(e -> e == a); 
} 

あなたがそうのようにそれを呼び出すことができます。

if(anyMatch(a, o, j, b)){ ... }; 
+1

Java 8の利点を使用する方法:) – Stefan

-1

私はあなたの変数が整数であると仮定します。

List<Integer> values = Arrays.asList(b, o, j); 
if (values.contains(a)){ 
... 
} 
関連する問題