From 355441e795bda37defc9c04bf8f73dd19e743855 Mon Sep 17 00:00:00 2001 From: Redkale <22250530@qq.com> Date: Wed, 24 Jan 2018 10:50:08 +0800 Subject: [PATCH] =?UTF-8?q?Creator=E7=9A=84getConstructorField=E6=96=B9?= =?UTF-8?q?=E6=B3=95=E5=A2=9E=E5=8A=A0=E5=AF=B9=E5=AD=90=E7=B1=BB=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E7=9A=84=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/org/redkale/util/Creator.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/org/redkale/util/Creator.java b/src/org/redkale/util/Creator.java index 91b838c67..332ba19ad 100644 --- a/src/org/redkale/util/Creator.java +++ b/src/org/redkale/util/Creator.java @@ -145,6 +145,18 @@ public interface Creator { try { Field field = clazz.getDeclaredField(names[i]); se[i] = new SimpleEntry<>(field.getName(), field.getType()); + } catch (NoSuchFieldException fe) { + Class cz = clazz; + Field field = null; + while ((cz = cz.getSuperclass()) != Object.class) { + try { + field = cz.getDeclaredField(names[i]); + break; + } catch (NoSuchFieldException nsfe) { + } + } + if (field == null) return null; + se[i] = new SimpleEntry<>(field.getName(), field.getType()); } catch (Exception e) { return null; }