反射更新字段

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();
    }
}
相关推荐
运维行者_5 小时前
Applications Manager中的Redis监控
大数据·服务器·数据库·人工智能·网络协议
better_liang8 小时前
每日Java面试场景题知识点之-消息队列MQ核心场景与实战
java·面试·kafka·消息队列·rabbitmq·rocketmq·mq
英俊潇洒美少年8 小时前
Vue 生产环境打包:SourceMap、压缩、混淆、加密全解 + 最佳实践
前端·javascript·vue.js
小江的记录本8 小时前
【JVM虚拟机】垃圾回收GC:四种引用类型:强引用、软引用、弱引用、虚引用(附《思维导图》+《面试高频考点清单》)
java·jvm·spring boot·后端·python·spring·面试
xingyuzhisuan8 小时前
网络 Token 常见故障原理,基础排查科普
运维·服务器·网络·php
小马爱打代码8 小时前
Spring源码 第四篇:Spring 5 源码深度拆解:AOP 全流程核心原理
java·后端·spring
巴博尔9 小时前
UNIAPP中NVUE页面 动画
android·前端·javascript·ios·uni-app
better_liang9 小时前
每日Java面试场景题知识点之-SpringBoot启动流程
java·面试·springboot·源码解析·启动流程
RyFit9 小时前
Java + AI 实战:Spring AI 从入门到企业级落地
java·人工智能·spring
wljy19 小时前
二、进制状态转换
linux·运维·服务器·c语言·c++