From 82ab994608f78db492b2253f9040df79f604c3a8 Mon Sep 17 00:00:00 2001 From: Redkale <8730487+redkale@users.noreply.github.com> Date: Thu, 19 Dec 2019 10:55:11 +0800 Subject: [PATCH] --- src/org/redkale/util/TypeToken.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/org/redkale/util/TypeToken.java b/src/org/redkale/util/TypeToken.java index 74c06b749..3751e18f3 100644 --- a/src/org/redkale/util/TypeToken.java +++ b/src/org/redkale/util/TypeToken.java @@ -151,7 +151,13 @@ public abstract class TypeToken { } if (atas.length == asts.length) { for (int i = 0; i < asts.length; i++) { - if (asts[i] == type) return atas[i]; + if (asts[i] == type) { + if (atas[i] instanceof Class + && ((TypeVariable) type).getBounds().length == 1 + && ((TypeVariable) type).getBounds()[0] instanceof Class + && ((Class) ((TypeVariable) type).getBounds()[0]).isAssignableFrom((Class) atas[i])) + return atas[i]; + } } } Type moreType = ((ParameterizedType) superType).getRawType();