将字符串转换为任何对象

时间:2014-04-14 07:41:46

标签: java string dynamic groovy casting

我想知道如何动态地将字符串转换为任何数据类型。 例如,我有这些:

String dataType
String value

然后,这些字段将从数据库中填充。

dataType = "java.lang.Integer"
value = "42"

所以,我想将"42" (String)转换为42 (int)

我有解决方案:

  1. 使用Class.cast(Object)

  2. 切换每种数据类型,并使用相应的解析方法。 例如:Integer.parseInt(String)new BigDecimal(String)

  3. 使用反射方法进行投射。

  4. 任何想法的人?

    (我不会使用外部库)

    此外,还接受了Groovy解决方案。

1 个答案:

答案 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