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优点的方法:)