在java中有任何简单的方法来比较一堆数字吗? 例如:
a=1;
b=2;
c=3;
d=4;
e=1;
//我想查看类似这样的内容
if(a<b<c<d) { /*perform some action*/ }
if(a<b<c<d<e) { ... }
if(a==b==c==d) { ... }
常数的计数可能更大
答案 0 :(得分:1)
你需要&amp;&amp;在每个条件之间:
android:background="@drawable/custom_selector"
答案 1 :(得分:1)
AFAIK没有内置的方法(不重复变量),但你可以制作一些自定义方法,例如
boolean ascendingOrder(int... args) {
for( int i = 0; i < args.length - 1; i++ ) {
if( args[i] >= args[i+1] ) {
return false;
}
}
return true;
}
用法:
if( ascendingOrder( a, b, c, d ) ) { ... }
if( ascendingOrder( a, b, c, d, e ) ) { ... }
allEqual(...)
等也可以这样做。
特别是如果有更多的常量,这可能会使事情更具可读性,而不会直接看到运算符。但是如果您经常遇到这种情况或许多常数,那么不同的设计实际上可能会更好(取决于您的需求)。
答案 2 :(得分:0)
你可以使用像
if(a<b && b<c && c<d) { /*perform some action*/ }
if(a<b && b<c && c<d && d<e) { ... }
if(a==b && b==c && c==d) { ... }