整数值比较

2022-09-01 14:55:44

我是一个新手Java程序员,我只是阅读了一个整数类的变量,可以在API中以三种不同的方式描述。我有以下代码:

if (count.compareTo(0)) { 
            System.out.println(out_table);
            count++;
    }

这是在一个循环中,只是输出。
我的目标是弄清楚如何查看整数值是否。out_tablecount > 0

我意识到这是正确的方法?还是?count.compare(0)count.equals(0)

我知道这是不正确的。这是对的吗?是否有值比较运算符,它只是?count == 0count=0


答案 1

要确定 是否大于 0,您可以:Integer

  • 检查是否返回正数:compareTo(O)

    if (count.compareTo(0) > 0)
         ...
    

    但这看起来很傻,不是吗?更好的是...

  • 使用自动装箱1

    if (count > 0)
        ....
    

    这等效于:

    if (count.intValue() > 0)
        ...
    

    请务必注意,“”是这样计算的,操作数未装箱,而不是装箱。否则,当初始化为时将返回 false(因为 “” 测试引用相等性)。==Integerintcount == 0countnew Integer(0)==

1 个从技术上讲,第一个示例使用自动装箱(在 Java 1.5 之前,您无法将 a 传递给),第二个示例使用取消装箱。组合功能通常简称为“自动装箱”,然后通常将其扩展为将两种类型的转换称为“自动装箱”。我很抱歉我对术语的松懈使用。intcompareTo


答案 2

整数是自动取消装箱的,因此您可以只做

if (count > 0) {
    .... 
}