反射更新字段

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();
    }
}
相关推荐
九转成圣几秒前
告别肉眼解析!Java 递归实现 JSON 全路径自动化探测工具
java·自动化·json
_运维那些事儿几秒前
skywalking链路追踪
java·运维·ci/cd·软件构建·skywalking·devops
范纹杉想快点毕业1 分钟前
状态机设计模式与嵌入式系统开发完整指南
java·开发语言·网络·数据库·mongodb·设计模式·架构
m5655bj3 分钟前
使用 C# 修改 PDF 页面尺寸
java·pdf·c#
Trouvaille ~4 分钟前
【Linux】UDP Socket编程实战(四):地址转换函数深度解析
linux·服务器·网络·c++·udp·socket·地址转换函数
峥嵘life5 分钟前
Android16 【GSI】CtsMediaCodecTestCases等一些列Media测试存在Failed项
android·linux·运维·服务器·学习
lisanmengmeng7 分钟前
cephadm 17.2.5安装部署 (二)
linux·运维·服务器·ceph
それども7 分钟前
Excel文件解析 - 什么是SAX和DOM
java·excel
悟能不能悟7 分钟前
echo 怎么设置不换行
java
pusheng20257 分钟前
燃料电池电化学传感器在硫化物固态电池安全监测中的技术优势解析
前端·人工智能·安全