我有一份这样的声明
int val = 1;
if (val == 0 || val == 1 || val == 2 || ...);有更简单的方法吗?例如:
int val = 1;
if (val == (0 || 1 || 2 || ...));我决定通过创建这样一个函数来解决这个问题:
public boolean ifor(int val, int o1, int o2, int o3) {
return (val == o1 || val == o2 || val == o3);
}但是这还不够,因为如果我想在ifor中添加另一个参数,例如o4,我就不能这样做(如果我用新参数创建另一个函数),或者如果我想减少o1和o2中的参数。老实说,我不知道我是否解释过,如果你问,我会尽力解释。
发布于 2015-06-25 18:30:43
您可以使用varargs来泛化该函数:
public boolean ifor(int val, int... comparisons){
for(int o : comparisons){
if(val == o) return true;
}
return false;
}然后,您可以像任何其他函数一样调用它,无论您想要进行多少比较。
发布于 2015-06-25 18:33:17
Arrays.asList(options).contains(value) // check if int value in int[] array called options发布于 2015-06-25 18:33:56
您可以有一个带有有效值的枚举或Arraylist,然后使用适当的函数来检查该值。
其中一个使用数组列表的示例
List = Arrays.asList(1,2,3,4);(list.contains(3)) {/.}
https://stackoverflow.com/questions/31058013
复制相似问题