我想知道如何动态地将字符串转换为任何数据类型。 例如,我有这些:
String dataType
String value
然后,这些字段将从数据库中填充。
dataType = "java.lang.Integer"
value = "42"
所以,我想将"42" (String)
转换为42 (int)
我有解决方案:
切换每种数据类型,并使用相应的解析方法。
例如:Integer.parseInt(String)
或new BigDecimal(String)
使用反射方法进行投射。
任何想法的人?
(我不会使用外部库)
此外,还接受了Groovy解决方案。
答案 0 :(得分:0)
在Groovy中,您可以使用as
运算符:
assert "42" as Integer == 42
assert 42 as String == "42"
assert 42 as Long == 42l
assert "42" as BigDecimal == 42.0