From 74c8e7704efb8d2be857a7a306eb7655e570be6f Mon Sep 17 00:00:00 2001 From: wb2476 Date: Mon, 27 Apr 2026 16:48:44 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=E4=BA=86=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E9=80=BB=E8=BE=91=E4=B8=AD=E5=AD=90=E7=B1=BB=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E4=B8=8D=E8=83=BD=E8=8E=B7=E5=8F=96=E7=88=B6=E7=B1=BB?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../czcb/scfs/api/core/util/ObjReflect.java | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/scfs-api-core/src/main/java/com/czcb/scfs/api/core/util/ObjReflect.java b/scfs-api-core/src/main/java/com/czcb/scfs/api/core/util/ObjReflect.java index 46da48a..d3ec8c6 100644 --- a/scfs-api-core/src/main/java/com/czcb/scfs/api/core/util/ObjReflect.java +++ b/scfs-api-core/src/main/java/com/czcb/scfs/api/core/util/ObjReflect.java @@ -11,13 +11,21 @@ public class ObjReflect { } public static Object getValue(Object obj, String fieldName) { - try { - Field field = obj.getClass().getDeclaredField(fieldName); - field.setAccessible(true); - return field.get(obj); - } catch (Exception e) { - return null; + Class clazz = obj.getClass(); + while (clazz != null) { + try { + Field field = clazz.getDeclaredField(fieldName); + field.setAccessible(true); + return field.get(obj); + } catch (NoSuchFieldException e) { + // 未声明该字段继续向上查父类 + clazz = clazz.getSuperclass(); + } catch (Exception e) { + return null; + } } + // 整个链路没有该字段返回null + return null; } public static String getValueAsString(Object obj, String fieldName) {