-1

int2 s == テストの等値を探すときは十分だという印象を受けました

の一部としてequals()、私は

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

getDayOfWeek が次のように定義されている場所

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

わかりましたので、intここで 2 を取得します。どちらも 1 です。同じではありません (によるとequals)

理由を理解するのを手伝ってください1 != 1

4

2 に答える 2

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

あなたの問題があります。曜日と月の日を比較していますが、ほとんどの場合、同じではない可能性があります。

しかし、あなたの元の質問に答えるために。はい、==で十分ですintIntegerequals()

于 2013-01-23T01:36:06.437 に答える
0

値と型を出力して、比較された両方のデータが同じであることを確認しましたか? さらに、このhttp://www.leepoint.net/notes-java/other/10time/30calendar.htmlを参照すると、DayOfMonth は (1-31) の範囲で、DayOfWeek は (0-6) の範囲です。

于 2013-01-23T02:06:21.597 に答える