我有一个场景,从UI接收的对象传递一个布尔值,并将其作为整数存储在数据库中,如TRUE = 1和FALSE = 0。现在当标志从ex更改为FALSE时,我需要比较它的整数值,如果它的0则不执行任何操作,如果1则更改为0并更新。一种方法是在下面,但仍然可能有更好的方法来做到这一点。
class AClient {
static Boolean x;
}
class BServer {
static Integer y;
}
public class Demo {
public static void main(String[] args) {
AClient.x = Boolean.TRUE;
BServer.y = 0;
System.out.println(storedValues());
}
private static Boolean storedValues() {
if (AClient.x) {
if (BServer.y.equals(new Integer(1))) {
return true;
} else {
return false;
}
} else {
if (BServer.y.equals(new Integer(1))) {
return false;
} else {
return true;
}
}
}
}
输出:false
答案 0 :(得分:0)
编写它的方法较短:
而不是:
if (BServer.y.equals(new Integer(1))) {
return true;
} else {
return false;
}
写道:
return (BServer.y == 1) ? true : false;
答案 1 :(得分:0)
您的storedValues
方法可以简化为:
return AClient.x.equals(BServer.y.equals(1));
如果x
和y
不需要为null,我会用原语而不是包装类替换它们,然后storedValues
可能如下所示:< / p>
return BServer.y == 1 == AClient.x;
您还可以将storedValues
的返回类型更改为boolean
。