Java 简化If条件

Java 简化If条件,java,if-statement,simplify,Java,If Statement,Simplify,有没有简化的方法: if(a == b || a == o || a == j || a ==....) { ... } 我想我可以做一些类似的事情 if( a == (b || o || j || ...)) { ... } 但是这被证明是不正确的语法创建一个方法来获取a的值和其他元素的varargs,然后您可以对元素进行流式处理,并检查其中是否有值等于a 例如: public boolean anyMatch(int a, int... values){ r

有没有简化的方法:

if(a == b || a == o || a == j || a ==....)
{
    ...
}
我想我可以做一些类似的事情

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

但是这被证明是不正确的语法

创建一个方法来获取
a
的值和其他元素的varargs,然后您可以对元素进行流式处理,并检查其中是否有值等于
a

例如:

public boolean anyMatch(int a, int... values){
      return Arrays.stream(values).anyMatch(e -> e == a);
}
那么你可以这样称呼它:

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

我想你的变量是整数

List<Integer> values = Arrays.asList(b, o, j);
if (values.contains(a)){
...
}
List values=Arrays.asList(b,o,j);
如果(值包含(a)){
...
}

没有比这更简单的了。您可以将您的值放入列表中,然后使用
contains()
。如果b、o、j等是常量,您可以创建一个集合(java 9:
Set.of(b、o、j)。contains(a)
数组。asList(b、o、j)。contains(a)如果它们是变量,逻辑就有味道。不幸的是,如果
这样,你就不能简化
。如果
switch
语句在你的情况下有意义,你可以将多个
case
放在一起。否则,基于集合的建议可能最有意义。使用java 8优点的方法:)