diff --git a/CHANGELOG.md b/CHANGELOG.md index 8e332363a..212d7e2b2 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ ### 🐣新特性 * 【core 】 DateUtil增加isLastDayOfMonth、getLastDayOfMonth方法(pr#824@Gitee) +* 【core 】 AnnotationUtil类支持Lambda获取某注解属性值(pr#827@Gitee) ### 🐞Bug修复 * 【poi 】 修复ExcelReader读取只有标题行报错问题(issue#I5U1JA@Gitee) diff --git a/hutool-core/src/main/java/cn/hutool/core/annotation/AnnotationUtil.java b/hutool-core/src/main/java/cn/hutool/core/annotation/AnnotationUtil.java index 4c726d99e..a928b09ef 100755 --- a/hutool-core/src/main/java/cn/hutool/core/annotation/AnnotationUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/annotation/AnnotationUtil.java @@ -240,6 +240,7 @@ public class AnnotationUtil { * @param propertyName 属性名,例如注解中定义了name()方法,则 此处传入name * @return 注解对象 * @throws UtilException 调用注解中的方法时执行异常 + * @since 5.8.9 */ public static R getAnnotationValue(AnnotatedElement annotationEle, Func1 propertyName) { if(propertyName == null) { diff --git a/hutool-core/src/test/java/cn/hutool/core/annotation/AnnotationUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/annotation/AnnotationUtilTest.java index 83646e85b..f35456cee 100755 --- a/hutool-core/src/test/java/cn/hutool/core/annotation/AnnotationUtilTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/annotation/AnnotationUtilTest.java @@ -1,12 +1,15 @@ package cn.hutool.core.annotation; -import cn.hutool.core.lang.Console; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.ReflectUtil; import org.junit.Assert; import org.junit.Test; -import java.lang.annotation.*; +import java.lang.annotation.Annotation; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; import java.lang.reflect.Method; import java.util.Collection; import java.util.Collections; @@ -38,7 +41,7 @@ public class AnnotationUtilTest { @Test public void getAnnotationValueTest2() { - String[] names = AnnotationUtil.getAnnotationValue(ClassWithAnnotation.class, AnnotationForTest::names); + final String[] names = AnnotationUtil.getAnnotationValue(ClassWithAnnotation.class, AnnotationForTest::names); Assert.assertTrue(ArrayUtil.equals(names, new String[]{"测试1", "测试2"})); }