java - 比较返回类型 Boolean 和 Integer 的值

标签 java integer boolean

我有一个场景,从 UI 接收的对象传递一个 boolean 值,并将其作为整数存储在数据库中,如 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));

如果xy不需要为空,我会用基元而不是包装类替换它们,然后storedValues 可能看起来像这样:

return BServer.y == 1 == AClient.x;

您还可以将 storedValues 的返回类型更改为 boolean

关于java - 比较返回类型 Boolean 和 Integer 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27086282/

相关文章:

java - 超越 Java 中的 Integer.MAX_VALUE 约束

python - builtins.True 语法错误

boolean - PyTorch 使用 boolean 掩码提取张量元素(保留维度)

Java:检查给定的IP和端口是否是代理服务器

java == 用于整数

java - 排除 Maven 中除 API 包之外的所有内容

integer - Fortran - 整数长度/使用的位置数

c++ - 如何让编译器警告这是一个无效的 boolean 值?

java - 将 Apache POI 与 GraalVM native 镜像结合使用 - 来自 XMLBeans 的 ClassCastException

Java 8 性能对比。 Java 7