1
0
mirror of https://gitee.com/dromara/hutool.git synced 2025-04-05 17:37:59 +08:00

DateUtil.getZodiac增加越界检查

This commit is contained in:
Looly 2023-03-31 21:58:04 +08:00
parent 4bc25e92d8
commit 2cadd59600
3 changed files with 28 additions and 0 deletions
CHANGELOG.md
hutool-core/src
main/java/cn/hutool/core/date
test/java/cn/hutool/core/date

View File

@ -12,6 +12,7 @@
* 【core 】 Number128增加hash和equals方法pr#968@Gitee
* 【core 】 NamingCase.toCamelCase新增重载可选是否转换其他字符为小写issue#3031@ithub
* 【core 】 新增JdkUtil
* 【core 】 DateUtil.getZodiac增加越界检查issue#3036@Github
### 🐞Bug修复
* 【core 】 CollUtil.split优化切割列表参数判断避免OOMpr#3026@Github

View File

@ -1,5 +1,7 @@
package cn.hutool.core.date;
import cn.hutool.core.lang.Assert;
import java.util.Calendar;
import java.util.Date;
@ -60,6 +62,9 @@ public class Zodiac {
* @return 星座名
*/
public static String getZodiac(int month, int day) {
Assert.checkBetween(month,
Month.JANUARY.getValue(),
Month.DECEMBER.getValue(), "Unsupported month value, must be [0,12]");
// 在分隔日前为前一个星座否则为后一个星座
return day < DAY_ARR[month] ? ZODIACS[month] : ZODIACS[month + 1];
}

View File

@ -0,0 +1,22 @@
/*
* Copyright (c) 2023 looly(loolly@aliyun.com)
* Hutool is licensed under Mulan PSL v2.
* You can use this software according to the terms and conditions of the Mulan PSL v2.
* You may obtain a copy of Mulan PSL v2 at:
* http://license.coscl.org.cn/MulanPSL2
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
* See the Mulan PSL v2 for more details.
*/
package cn.hutool.core.date;
import org.junit.Test;
public class Issue3036Test {
@Test(expected = IllegalArgumentException.class)
public void getZodiacTest() {
DateUtil.getZodiac(Month.UNDECIMBER.getValue(), 10);
}
}