如何设置属性(即通过BeanUtils)而不知道它的类型

我需要设置
JavaBean的一些属性.我有一个通用的Map< String,String>其中第一个String是属性的名称,第二个String表示它的值.

现在,如果地图如下所示:

"greeting" : "Hello"
"cool" : "true"
"amount" : "42"

我在bean中的setter看起来像这样:

public void setGreeting(String greeting);
public void setCool(boolean cool);
public void setAmount(int amount);

我需要设置这些属性,如:

BeanUtils.setProperty(myBean, "amount", myMap.get("amount"));

以便BeanUtils找到正确的方法并将String转换为正确的类型.在API文档的大多数地方,它都说“没有类型转换”但我在API文档中发现了很多转换器,所以我认为必须有一种方法可以做到这一点.

如何让BeanUtils在不知道其类型的情况下找到正确的方法?

最佳答案
javadoc说:

Set the specified property value, performing type conversions as required to conform to the type of the destination property.

所以它应该自动转换你的值.

点赞