From 9f1fd664ebb33a98b5eb86194e808d0ed7878296 Mon Sep 17 00:00:00 2001 From: zhangjiayu Date: Tue, 11 Apr 2023 16:52:58 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BD=BF=E7=94=A8AnnotationU?= =?UTF-8?q?til.getAnnotationAlias=E8=8E=B7=E5=8F=96=E6=B3=A8=E8=A7=A3?= =?UTF-8?q?=E6=97=B6=E5=8F=AF=E8=83=BD=E4=BC=9A=E5=87=BA=E7=8E=B0=E7=A9=BA?= =?UTF-8?q?=E6=8C=87=E9=92=88=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/hutool/core/annotation/AnnotationUtil.java | 3 +++ .../cn/hutool/core/annotation/AnnotationUtilTest.java | 8 ++++++++ 2 files changed, 11 insertions(+) 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 22070a24e..a1301a064 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 @@ -457,6 +457,9 @@ public class AnnotationUtil { */ public static T getAnnotationAlias(AnnotatedElement annotationEle, Class annotationType) { final T annotation = getAnnotation(annotationEle, annotationType); + if (null == annotation) { + return null; + } return aggregatingFromAnnotation(annotation).synthesize(annotationType); } 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 f35456cee..1c724e477 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 @@ -56,6 +56,14 @@ public class AnnotationUtilTest { Assert.assertTrue(AnnotationUtil.isSynthesizedAnnotation(annotation)); } + @Test + public void getAnnotationSyncAliasWhenNotAnnotation() { + getAnnotationSyncAlias(); + // 使用AnnotationUtil.getAnnotationAlias获取对象上并不存在的注解 + final Alias alias = AnnotationUtil.getAnnotationAlias(ClassWithAnnotation.class, Alias.class); + Assert.assertNull(alias); + } + @AnnotationForTest(value = "测试", names = {"测试1", "测试2"}) @RepeatAnnotationForTest static class ClassWithAnnotation{