比较Java中的int

时间:2013-01-23 01:32:57

标签: java equality

我的印象是,在寻找2 int s == test之间的平等时,

就足够了

作为equals()的一部分,我

    if (this.getDayOfWeek() != that.getDayOfMonth()) {
        return false;
    }

将getDayOfWeek定义为

    public int getDayOfWeek() {
        return calendarInstance.get(Calendar.DAY_OF_WEEK);
    }

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

请帮助我理解为什么1 != 1

2 个答案:

答案 0 :(得分:10)

if (this.getDayOfWeek() != that.getDayOfMonth()) 

有你的问题。您要比较一周中的某一天与一个月中的某天,这可能在大多数情况下并不相同。

但回答你原来的问题。是的,==仅适用于int但不适用于Integer,需要使用equals()

答案 1 :(得分:0)

您是否确保通过打印出他们的值和类型来比较两个数据是否相同?另外,如果你引用这个http://www.leepoint.net/notes-java/other/10time/30calendar.html,DayOfMonth的范围是(1-31),其中DayOfWeek的范围是(0-6)