示例:
int value = someValue;
if (value == (valueOne OR valueTwo OR valueThree)){
//do code
}
我希望避免在下面的示例中重新输入value
。
if (value == valueOne || value == valueTwo || value == valueThree)
答案 0 :(得分:5)
您无法使用Java中的if
语句执行此操作,但使用switch
语句。
switch (value) {
case 1:
case 2:
case 3: {
//do something
}
}
这将检查value
是否等于1
,2
或3
。
答案 1 :(得分:3)
您使用||
进行布尔OR比较。单个栏|
用于位操作。您当前的语法不正确。
if(value ==1 || value==2 || value ==3)
当然,在这里进行范围检查可能会更好:
if(value>=1 && value<=3)
不确定你要做什么。
如果OR比较在这里对你更有意义,你应该为这些值定义一些常量,或者考虑枚举类型。文字1,2和3对其他开发者没有意义。
答案 2 :(得分:3)
这可以在一次检查中完成:
int value = someValue;
if(Arrays.asList(valueOne, valueTwo, valueThree).contains(someValue)){
// do the things
}
答案 3 :(得分:2)
您还可以使用apache commons中的Range
类:
Range r = Range.between(1,3);
if(r.contains(value)){
}
答案 4 :(得分:1)
使用HashSet
Set<Integer> myset = new HashSet<Integer>();
//Add values to your set
if(myset.contains(myvalue));
{
//... Do what you want.
这使您的算法变得灵活,当您想要检查新值时,不必手动编码新的检查。
答案 5 :(得分:0)
== tests for reference equality.
.equals() tests for value equality.
//for loop to iterate through the range of values
if(setofValues.equals( value)) ; // do something