You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by al...@apache.org on 2021/02/23 16:30:46 UTC

[dubbo] branch master updated: [Dubbo-6177] PojoUtils realize not current for Multidimensional primitive array #6177 (#6178)

This is an automated email from the ASF dual-hosted git repository.

albumenj pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo.git


The following commit(s) were added to refs/heads/master by this push:
     new 23e38e4  [Dubbo-6177] PojoUtils realize not current for Multidimensional primitive array #6177 (#6178)
23e38e4 is described below

commit 23e38e4c6bdf14e2a9ee335ef6c9c72a4c0cdddc
Author: sqtds <gs...@gmail.com>
AuthorDate: Wed Feb 24 00:30:29 2021 +0800

    [Dubbo-6177] PojoUtils realize not current for Multidimensional primitive array #6177 (#6178)
---
 .../src/main/java/org/apache/dubbo/common/utils/ReflectUtils.java    | 4 ++--
 .../src/test/java/org/apache/dubbo/common/utils/PojoUtilsTest.java   | 5 +++++
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/dubbo-common/src/main/java/org/apache/dubbo/common/utils/ReflectUtils.java b/dubbo-common/src/main/java/org/apache/dubbo/common/utils/ReflectUtils.java
index 6341a5b..5007287 100644
--- a/dubbo-common/src/main/java/org/apache/dubbo/common/utils/ReflectUtils.java
+++ b/dubbo-common/src/main/java/org/apache/dubbo/common/utils/ReflectUtils.java
@@ -155,8 +155,8 @@ public final class ReflectUtils {
     }
 
     public static boolean isPrimitives(Class<?> cls) {
-        if (cls.isArray()) {
-            return isPrimitive(cls.getComponentType());
+        while (cls.isArray()) {
+            cls = cls.getComponentType();
         }
         return isPrimitive(cls);
     }
diff --git a/dubbo-common/src/test/java/org/apache/dubbo/common/utils/PojoUtilsTest.java b/dubbo-common/src/test/java/org/apache/dubbo/common/utils/PojoUtilsTest.java
index 4bc4b31..e615dd9 100644
--- a/dubbo-common/src/test/java/org/apache/dubbo/common/utils/PojoUtilsTest.java
+++ b/dubbo-common/src/test/java/org/apache/dubbo/common/utils/PojoUtilsTest.java
@@ -199,6 +199,11 @@ public class PojoUtilsTest {
         assertArrayObject(new Float[]{37F, -39F, 123456.7F});
 
         assertArrayObject(new Double[]{37D, -39D, 123456.7D});
+
+        assertObject(new int[][]{{37, -39, 12456}});
+        assertObject(new Integer[][][]{{{37, -39, 12456}}});
+
+        assertArrayObject(new Integer[]{37, -39, 12456});
     }
 
     @Test