From 44684aa03610d2918a631b42dba5e4b6470477ac Mon Sep 17 00:00:00 2001 From: Looly Date: Fri, 30 Sep 2022 19:07:36 +0800 Subject: [PATCH] =?UTF-8?q?AnnotationUtil=E7=B1=BB=E6=94=AF=E6=8C=81Lambda?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E6=9F=90=E6=B3=A8=E8=A7=A3=E5=B1=9E=E6=80=A7?= =?UTF-8?q?=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 1 + .../java/cn/hutool/core/annotation/AnnotationUtil.java | 1 + .../cn/hutool/core/annotation/AnnotationUtilTest.java | 9 ++++++--- 3 files changed, 8 insertions(+), 3 deletions(-) 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"})); }