反射更新字段

private void appendWaitingToField(MCiDueFin data, String fieldName, Object newValue) {

try {

Field field = data.getClass().getDeclaredField(fieldName);

field.setAccessible(true);

复制代码
        Object originalValue = field.get(data);
        String originalStr = originalValue != null ? originalValue.toString() : "";

        String newStr = newValue != null ? newValue.toString() : "";

        StringBuilder result = new StringBuilder();
        if (!originalStr.isEmpty()) {
            result.append(originalStr);
        }
        if (!newStr.isEmpty()) {
            if (result.length() > 0) result.append(" ");
            result.append(newStr);
        }

        // 设置回字段
        field.set(data, result.toString());

        System.out.println("字段 " + fieldName + " 更新为: " + result.toString());

    } catch (NoSuchFieldException e) {
        System.out.println("字段不存在: " + fieldName);
    } catch (Exception e) {
        e.printStackTrace();
    }
}
相关推荐
吠品2 小时前
CSS图片模糊过渡:一个transition加filter就够
java·数据库·notepad++
步行cgn2 小时前
Spring 全注解开发详解
java·后端·spring
Csvn3 小时前
组合式 API(Composition API)
前端
长河3 小时前
Java的GC(垃圾回收)中,标记无用对象的核心方法是可达性分析算法
java·jvm·算法
code2cat3 小时前
Java进阶篇之LongAdder:把统计更新分散,再读取总和
java·并发编程·原子类·longadder
2601_967287573 小时前
轮胎侧壁上的 91V 是什么意思,负荷指数与速度级别怎么看
运维·服务器·汽车
凯哥Java3 小时前
写代码怎么避免逻辑漏洞?
java·开发语言·人工智能·自动化
Ivanqhz3 小时前
正余弦位置编码(Sinusoidal Positional Encoding)
java·linux·数据库
Ivanqhz4 小时前
层归一化、残差、前馈网络与激活函数简述
服务器·数据库·人工智能·深度学习·算法
火柴就是我4 小时前
Android 打包报错 25.0.3
android·前端