gpt4 book ai didi

java - 有什么可以根据路径设置对象的值吗?

转载 作者:太空宇宙 更新时间:2023-11-04 15:10:34 25 4
gpt4 key购买 nike

我需要的是以下内容:

Person p = new Person();
Command.set(p, "person.name", "William");
//After that method call in line above, p.getName() should return "William"

我需要尽可能通用的 set 方法,也就是说,不仅是一个 person 参数,而且是我想要的任何 ValueObject。我开始使用反射来研究这个算法,但我不确定这是否合适,并且需要做很多工作。我想知道是否有任何东西已经完成,例如Java框架。

提前致谢!

最佳答案

看看 Apache Commons Beanutils 中的 PropertyUtilsBean (http://commons.apache.org/proper/commons-beanutils/javadocs/v1.9.1/apidocs/org/apache/commons/beanutils/PropertyUtilsBean.html#setProperty%28java.lang.Object,%20java.lang.String,%20java.lang.Object%29)。

应该简单如下:

Person p = new Person();
PropertyUtils.setProperty(p, "name", "William");

库也支持设置嵌套属性,例如

PropertyUtils.setProperty(p, "address.street", "Route 69");
// equivalent of p.getAddress().setStreet("Route 69")

关于java - 有什么可以根据路径设置对象的值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21378607/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com