我有一个场景,一个从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;
}
}
}
}
输出:假
最佳答案
您的storedValues
方法可以简化为:
return AClient.x.equals(BServer.y.equals(1));
如果
x
和y
永远不需要为null,我将用原语而不是wrapper类替换它们,那么storedValues
可能看起来像这样:return BServer.y == 1 == AClient.x;
您也可以将
storedValues
的返回类型更改为boolean
。