From 1d43179470f2ff3bea22f475e4b9e57bf482949e Mon Sep 17 00:00:00 2001 From: Looly Date: Sun, 28 Sep 2025 00:27:42 +0800 Subject: [PATCH] fix test --- .../annotation/GenericAnnotationMapping.java | 3 +- .../cn/hutool/v7/core/array/ArrayUtil.java | 31 +++++++------------ .../cn/hutool/v7/core/map/multi/Graph.java | 2 ++ .../core/annotation/AnnotationUtilTest.java | 12 ++++--- 4 files changed, 23 insertions(+), 25 deletions(-) diff --git a/hutool-core/src/main/java/cn/hutool/v7/core/annotation/GenericAnnotationMapping.java b/hutool-core/src/main/java/cn/hutool/v7/core/annotation/GenericAnnotationMapping.java index 64290235c..bf24201e0 100644 --- a/hutool-core/src/main/java/cn/hutool/v7/core/annotation/GenericAnnotationMapping.java +++ b/hutool-core/src/main/java/cn/hutool/v7/core/annotation/GenericAnnotationMapping.java @@ -111,7 +111,8 @@ public class GenericAnnotationMapping implements AnnotationMapping { } /** - * 获取属性值 + * 获取指定属性的属性值
+ * 首先从属性方法中查找指定名称和属性类型一致的属性方法,然后调用属性方法获取返回值。 * * @param attributeName 属性名称 * @param attributeType 属性类型 diff --git a/hutool-core/src/main/java/cn/hutool/v7/core/array/ArrayUtil.java b/hutool-core/src/main/java/cn/hutool/v7/core/array/ArrayUtil.java index 44407416c..f09a38a0c 100644 --- a/hutool-core/src/main/java/cn/hutool/v7/core/array/ArrayUtil.java +++ b/hutool-core/src/main/java/cn/hutool/v7/core/array/ArrayUtil.java @@ -1327,26 +1327,17 @@ public class ArrayUtil extends PrimitiveArrayUtil { if (isArray(obj)) { try { final String className = obj.getClass().getComponentType().getName(); - switch (className) { - case "long": - return wrap((long[]) obj); - case "int": - return wrap((int[]) obj); - case "short": - return wrap((short[]) obj); - case "char": - return wrap((char[]) obj); - case "byte": - return wrap((byte[]) obj); - case "boolean": - return wrap((boolean[]) obj); - case "float": - return wrap((float[]) obj); - case "double": - return wrap((double[]) obj); - default: - return (Object[]) obj; - } + return switch (className) { + case "long" -> wrap((long[]) obj); + case "int" -> wrap((int[]) obj); + case "short" -> wrap((short[]) obj); + case "char" -> wrap((char[]) obj); + case "byte" -> wrap((byte[]) obj); + case "boolean" -> wrap((boolean[]) obj); + case "float" -> wrap((float[]) obj); + case "double" -> wrap((double[]) obj); + default -> (Object[]) obj; + }; } catch (final Exception e) { throw ExceptionUtil.wrapRuntime(e); } diff --git a/hutool-core/src/main/java/cn/hutool/v7/core/map/multi/Graph.java b/hutool-core/src/main/java/cn/hutool/v7/core/map/multi/Graph.java index a5343db41..4defa35ec 100644 --- a/hutool-core/src/main/java/cn/hutool/v7/core/map/multi/Graph.java +++ b/hutool-core/src/main/java/cn/hutool/v7/core/map/multi/Graph.java @@ -18,6 +18,7 @@ package cn.hutool.v7.core.map.multi; import cn.hutool.v7.core.collection.CollUtil; +import java.io.Serial; import java.util.*; import java.util.concurrent.atomic.AtomicBoolean; import java.util.function.Predicate; @@ -30,6 +31,7 @@ import java.util.function.Predicate; * @since 6.0.0 */ public class Graph extends SetValueMap { + @Serial private static final long serialVersionUID = 1L; /** diff --git a/hutool-core/src/test/java/cn/hutool/v7/core/annotation/AnnotationUtilTest.java b/hutool-core/src/test/java/cn/hutool/v7/core/annotation/AnnotationUtilTest.java index 78c5dc37e..f7d5f89f7 100644 --- a/hutool-core/src/test/java/cn/hutool/v7/core/annotation/AnnotationUtilTest.java +++ b/hutool-core/src/test/java/cn/hutool/v7/core/annotation/AnnotationUtilTest.java @@ -202,10 +202,14 @@ public class AnnotationUtilTest { @Test public void testGetAnnotationAlias() { - final MetaAnnotationForTest annotation = AnnotationUtil.getAnnotationAlias(AnnotationForTest.class, MetaAnnotationForTest.class); - assertNotNull(annotation); - assertEquals(annotation.value(), annotation.alias()); - assertEquals(MetaAnnotationForTest.class, annotation.annotationType()); + final MetaAnnotationForTest annotation = AnnotationUtil.getAnnotation(AnnotationForTest.class, MetaAnnotationForTest.class); + Assertions.assertEquals("foo", annotation.value()); + final MetaAnnotationForTest annotationAlias = AnnotationUtil.getAnnotationAlias(AnnotationForTest.class, MetaAnnotationForTest.class); + assertNotNull(annotationAlias); + // value的别名是alias,因此获取value值时,实际返回的是alias的值 + assertEquals("", annotationAlias.value()); + assertEquals(annotationAlias.value(), annotationAlias.alias()); + assertEquals(MetaAnnotationForTest.class, annotationAlias.annotationType()); } @Test