Java获取bean值

Mar*_*ood 2 java getter properties javabeans apache-commons

鉴于以下内容:

public class Person {
    private Car car;
    // .. bean stuff
}
Run Code Online (Sandbox Code Playgroud)

.

public class Car {
    private CarStuff carStuff;
    // .. bean stuff
}
Run Code Online (Sandbox Code Playgroud)

我可以使用BeanUtils来设置Person的"car"属性:

BeanUtils.setProperty(person, "car", theirCar);
Run Code Online (Sandbox Code Playgroud)

好的,这非常容易.现在如何通过它的名字获得"汽车"?

BeanUtils.getProperty(person, "car")
Run Code Online (Sandbox Code Playgroud)

将返回一个String,但Car不是String

我试过了:

Map<String, ? extends Object> props = new HashMap<>();
BeanUtils.populate(person, props);
Run Code Online (Sandbox Code Playgroud)

但是没有"car"条目,并且调查文档,输出(虽然很有可能是Object类型)仍然是String或String []

我的类都有适当的bean getter和setter方法.我怎样才能获得价值?

小智 5

您可以尝试使用PropertyUtils.getProperty(Object, String)替代

  • 我冒昧地为你的答案添加一个链接 (2认同)