diff --git a/CHANGELOG.md b/CHANGELOG.md index 006ba0ca9..0a1e6b70f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,15 @@ ------------------------------------------------------------------------------------------------------------- +## 5.1.2 + +### 新特性 + +### Bug修复 +* 【core 】 修复isExpired的bug(issue#733@Gtihub) + +------------------------------------------------------------------------------------------------------------- + ## 5.1.1 ### 新特性 diff --git a/hutool-core/src/main/java/cn/hutool/core/date/DateUtil.java b/hutool-core/src/main/java/cn/hutool/core/date/DateUtil.java index f9a907083..a4276d43b 100644 --- a/hutool-core/src/main/java/cn/hutool/core/date/DateUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/date/DateUtil.java @@ -1776,11 +1776,13 @@ public class DateUtil { * * @param startDate 开始时间 * @param dateField 时间单位 - * @param timeLength 经过时长 + * @param timeLength 实际经过时长 * @param endDate 被比较的时间,即有效期的截止时间。如果经过时长后的时间晚于截止时间,就表示过期 * @return 是否过期 * @since 3.1.1 + * @deprecated 此方法存在一定的歧义,容易产生误导,废弃。 */ + @Deprecated public static boolean isExpired(Date startDate, DateField dateField, int timeLength, Date endDate) { final Date offsetDate = offset(startDate, dateField, timeLength); return offsetDate.after(endDate); @@ -1801,7 +1803,7 @@ public class DateUtil { * @since 5.1.1 */ public static boolean isExpired(Date startDate, Date endDate, Date checkDate) { - return betweenMs(startDate, checkDate) > betweenMs(startDate, checkDate); + return betweenMs(startDate, checkDate) > betweenMs(startDate, endDate); } /** diff --git a/hutool-core/src/main/java/cn/hutool/core/lang/ClassScanner.java b/hutool-core/src/main/java/cn/hutool/core/lang/ClassScanner.java index e0f77fc86..b998f9c3c 100644 --- a/hutool-core/src/main/java/cn/hutool/core/lang/ClassScanner.java +++ b/hutool-core/src/main/java/cn/hutool/core/lang/ClassScanner.java @@ -2,6 +2,7 @@ package cn.hutool.core.lang; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.EnumerationIter; +import cn.hutool.core.convert.Convert; import cn.hutool.core.io.FileUtil; import cn.hutool.core.io.IORuntimeException; import cn.hutool.core.io.resource.ResourceUtil; @@ -77,10 +78,10 @@ public class ClassScanner implements Serializable { } /** - * 扫描指定包路径下所有指定类或接口的子类或实现类 + * 扫描指定包路径下所有指定类或接口的子类或实现类,不包括指定父类本身 * * @param packageName 包路径 - * @param superClass 父类或接口 + * @param superClass 父类或接口(不包括) * @return 类集合 */ public static Set> scanPackageBySuper(String packageName, final Class superClass) { @@ -244,8 +245,11 @@ public class ClassScanner implements Serializable { } } } else if (file.isDirectory()) { - for (File subFile : file.listFiles()) { - scanFile(subFile, (null == rootDir) ? subPathBeforePackage(file) : rootDir); + final File[] files = file.listFiles(); + if(null != files){ + for (File subFile : files) { + scanFile(subFile, (null == rootDir) ? subPathBeforePackage(file) : rootDir); + } } } } diff --git a/hutool-extra/src/test/java/cn/hutool/extra/spring/SpringUtilTest.java b/hutool-extra/src/test/java/cn/hutool/extra/spring/SpringUtilTest.java index 639f7b325..0bff7ee5a 100644 --- a/hutool-extra/src/test/java/cn/hutool/extra/spring/SpringUtilTest.java +++ b/hutool-extra/src/test/java/cn/hutool/extra/spring/SpringUtilTest.java @@ -10,6 +10,7 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; @RunWith(SpringJUnit4ClassRunner.class) @SpringBootTest(classes = {SpringUtil.class, SpringUtilTest.Demo2.class}) +//@Import(cn.hutool.extra.spring.SpringUtil.class) public class SpringUtilTest { @Test