我该怎么做:
int a=5;
if(4<=a<=6){
}
在Java中?
答案 0 :(得分:7)
有两个条件:
int a=5;
if(4<=a && a<=6){
}
答案 1 :(得分:5)
除了其他人(if(4<=a && a<=6)
)提出的明显解决方案外,您可以使用commons-lang的IntRange
:
Range range = new IntRange(4,6)
if (range.containsInteger(5)) {..}
看起来有点过分,但视情况而定(如果不是那么简单),它会非常有用。
答案 2 :(得分:3)
if(4 <= a && a <= 6) {
// do something
}
当然,你总是可以在一些Util
类中编写这样的函数:
class Util {
public static boolean inclusiveBetween(int num, int a, int b) {
return num >= a && num <= b;
}
}
然后你可以做类似
的事情if(Util.inclusiveBetween(someResourceIntensiveOpReturningInt(), 4, 6)) {
// do things
}
答案 3 :(得分:2)
你不能,我不认为。
有什么问题int a = 5;
if(a >= 4 && a <= 6) {
}
?如果需要比较许多不同的变量,将它们放在一个数组中并对数组进行排序,然后比较数组。
答案 4 :(得分:1)
你可以这样做。它的丑陋,但可以稍微快一些。
int a = 5;
if(a - Integer.MIN_VALUE - 4 <= 2 - Integer.MIN_VALUE) {
}
这利用了使用下溢将两个比较合二为一。这可以节省大约1-2纳秒。但是,在某些用例中它可能会花费相同的金额,所以只有在尝试微调循环时才尝试它。