比较Java中的int

Jam*_*ard -1 java equality

我的印象是,当寻找2 ints ==测试之间的平等就足够了

作为一部分equals(),我

    if (this.getDayOfWeek() != that.getDayOfMonth()) {
        return false;
    }
Run Code Online (Sandbox Code Playgroud)

其中getDayOfWeek定义为

    public int getDayOfWeek() {
        return calendarInstance.get(Calendar.DAY_OF_WEEK);
    }
Run Code Online (Sandbox Code Playgroud)

好的,我们int在这里得到2 秒.两者都是1.而且不一样(根据equals)

请帮我理解原因 1 != 1

Mar*_*son 10

if (this.getDayOfWeek() != that.getDayOfMonth()) 
Run Code Online (Sandbox Code Playgroud)

这是你的问题.您将比较一周中的某一天与该月的某天,这可能在大多数情况下并不相同.

但要回答你原来的问题.是的,==足够int但不适合Integer需要使用equals()