简化 If 条件
Simplifying If-conditions
有没有办法简化:
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)){
...
}
有没有办法简化:
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)){
...
}