fix isExpired bug

This commit is contained in:
Looly 2020-01-22 07:23:50 +08:00
parent cf7aa225aa
commit c33e2d8971
4 changed files with 22 additions and 6 deletions

View File

@ -3,6 +3,15 @@
------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------
## 5.1.2
### 新特性
### Bug修复
* 【core 】 修复isExpired的bugissue#733@Gtihub
-------------------------------------------------------------------------------------------------------------
## 5.1.1 ## 5.1.1
### 新特性 ### 新特性

View File

@ -1776,11 +1776,13 @@ public class DateUtil {
* *
* @param startDate 开始时间 * @param startDate 开始时间
* @param dateField 时间单位 * @param dateField 时间单位
* @param timeLength 经过时长 * @param timeLength 实际经过时长
* @param endDate 被比较的时间即有效期的截止时间如果经过时长后的时间晚于截止时间就表示过期 * @param endDate 被比较的时间即有效期的截止时间如果经过时长后的时间晚于截止时间就表示过期
* @return 是否过期 * @return 是否过期
* @since 3.1.1 * @since 3.1.1
* @deprecated 此方法存在一定的歧义容易产生误导废弃
*/ */
@Deprecated
public static boolean isExpired(Date startDate, DateField dateField, int timeLength, Date endDate) { public static boolean isExpired(Date startDate, DateField dateField, int timeLength, Date endDate) {
final Date offsetDate = offset(startDate, dateField, timeLength); final Date offsetDate = offset(startDate, dateField, timeLength);
return offsetDate.after(endDate); return offsetDate.after(endDate);
@ -1801,7 +1803,7 @@ public class DateUtil {
* @since 5.1.1 * @since 5.1.1
*/ */
public static boolean isExpired(Date startDate, Date endDate, Date checkDate) { public static boolean isExpired(Date startDate, Date endDate, Date checkDate) {
return betweenMs(startDate, checkDate) > betweenMs(startDate, checkDate); return betweenMs(startDate, checkDate) > betweenMs(startDate, endDate);
} }
/** /**

View File

@ -2,6 +2,7 @@ package cn.hutool.core.lang;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.EnumerationIter; import cn.hutool.core.collection.EnumerationIter;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.io.FileUtil; import cn.hutool.core.io.FileUtil;
import cn.hutool.core.io.IORuntimeException; import cn.hutool.core.io.IORuntimeException;
import cn.hutool.core.io.resource.ResourceUtil; import cn.hutool.core.io.resource.ResourceUtil;
@ -77,10 +78,10 @@ public class ClassScanner implements Serializable {
} }
/** /**
* 扫描指定包路径下所有指定类或接口的子类或实现类 * 扫描指定包路径下所有指定类或接口的子类或实现类不包括指定父类本身
* *
* @param packageName 包路径 * @param packageName 包路径
* @param superClass 父类或接口 * @param superClass 父类或接口不包括
* @return 类集合 * @return 类集合
*/ */
public static Set<Class<?>> scanPackageBySuper(String packageName, final Class<?> superClass) { public static Set<Class<?>> scanPackageBySuper(String packageName, final Class<?> superClass) {
@ -244,8 +245,11 @@ public class ClassScanner implements Serializable {
} }
} }
} else if (file.isDirectory()) { } else if (file.isDirectory()) {
for (File subFile : file.listFiles()) { final File[] files = file.listFiles();
scanFile(subFile, (null == rootDir) ? subPathBeforePackage(file) : rootDir); if(null != files){
for (File subFile : files) {
scanFile(subFile, (null == rootDir) ? subPathBeforePackage(file) : rootDir);
}
} }
} }
} }

View File

@ -10,6 +10,7 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@RunWith(SpringJUnit4ClassRunner.class) @RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = {SpringUtil.class, SpringUtilTest.Demo2.class}) @SpringBootTest(classes = {SpringUtil.class, SpringUtilTest.Demo2.class})
//@Import(cn.hutool.extra.spring.SpringUtil.class)
public class SpringUtilTest { public class SpringUtilTest {
@Test @Test