From 6ed1661c3d6b155b4cc989295dd5ae0da243f222 Mon Sep 17 00:00:00 2001 From: zongzhihui Date: Mon, 25 Dec 2023 11:43:32 +0800 Subject: [PATCH] =?UTF-8?q?fix=20code:=E4=B8=89=E6=9C=88=E5=88=9D=E4=B8=80?= =?UTF-8?q?=E4=B8=8E=E9=97=B0=E4=BA=8C=E6=9C=88=E5=88=9D=E4=B8=80=E4=B8=8D?= =?UTF-8?q?=E5=BA=94=E8=AF=A5=E7=9B=B8=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/dromara/hutool/core/date/chinese/ChineseDate.java | 4 ++-- .../java/org/dromara/hutool/core/date/ChineseDateTest.java | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/date/chinese/ChineseDate.java b/hutool-core/src/main/java/org/dromara/hutool/core/date/chinese/ChineseDate.java index 03d691cb8..db67b06af 100644 --- a/hutool-core/src/main/java/org/dromara/hutool/core/date/chinese/ChineseDate.java +++ b/hutool-core/src/main/java/org/dromara/hutool/core/date/chinese/ChineseDate.java @@ -414,12 +414,12 @@ public class ChineseDate { return false; } final ChineseDate that = (ChineseDate) o; - return year == that.year && month == that.month && day == that.day; + return year == that.year && month == that.month && day == that.day && isLeapMonth == that.isLeapMonth; } @Override public int hashCode() { - return Objects.hash(year, month, day); + return Objects.hash(year, month, day, isLeapMonth); } // ------------------------------------------------------- private method start diff --git a/hutool-core/src/test/java/org/dromara/hutool/core/date/ChineseDateTest.java b/hutool-core/src/test/java/org/dromara/hutool/core/date/ChineseDateTest.java index 8ea818ccf..29b1c203f 100644 --- a/hutool-core/src/test/java/org/dromara/hutool/core/date/ChineseDateTest.java +++ b/hutool-core/src/test/java/org/dromara/hutool/core/date/ChineseDateTest.java @@ -182,16 +182,22 @@ public class ChineseDateTest { final Date date1 = DateUtil.date(LocalDate.of(2023, 2, 20)); // 润二月初一 final Date date2 = DateUtil.date(LocalDate.of(2023, 3, 22)); + // 三月初一 + final Date date4 = DateUtil.date(LocalDate.of(2023, 4, 20)); + final ChineseDate chineseDate1 = new ChineseDate(date1); final ChineseDate chineseDate2 = new ChineseDate(date2); final ChineseDate chineseDate3 = new ChineseDate(date2); + final ChineseDate chineseDate4 = new ChineseDate(date4); Assertions.assertEquals("2023-02-01", chineseDate1.toStringNormal()); Assertions.assertEquals("2023-02-01", chineseDate2.toStringNormal()); Assertions.assertEquals("2023-02-01", chineseDate3.toStringNormal()); + Assertions.assertEquals("2023-03-01", chineseDate4.toStringNormal()); Assertions.assertNotEquals(chineseDate1, chineseDate2); Assertions.assertEquals(chineseDate2, chineseDate3); + Assertions.assertNotEquals(chineseDate2, chineseDate4); } }