我需要设置JavaBean的一些属性。我有一个通用Map<String, String>
,其中第一个String是属性的 Name ,第二个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在不知道其类型的情况下找到正确的方法?
答案 0 :(得分:1)
答案 1 :(得分:1)
根据课程ConvertUtilsBean
的文档,您可以自动从String
或String[]
转换为目标类型的类型为:
java.lang.BigDecimal
(无默认值)java.lang.BigInteger
(无默认值)boolean and java.lang.Boolean
(默认为false)byte and java.lang.Byte
(默认为零)char and java.lang.Character
(默认为空格)java.lang.Class
(无默认值)double and java.lang.Double
(默认为零)float and java.lang.Float
(默认为零)int and java.lang.Integer
(默认为零)long and java.lang.Long
(默认为零)short and java.lang.Short
(默认为零)java.lang.String
(默认为null)java.io.File
(无默认值)java.net.URL
(无默认值)java.sql.Date
(无默认值)java.sql.Time
(无默认值)java.sql.Timestamp
(无默认值)如果您需要其他转换器或替换某人,您可以在Convert Utils Demo中找到一个很好的示例。