如何动态地将String转换为int(反射API)



我正在尝试这样做:

Field field = classeDoObjetoDaColecao.getDeclaredField(caminho[0]);
//Here I get the setMethod, based on the attribute (via field)
Method metodoSet = classeDoObjetoDaColecao.getMethod(partesLista[0], field.getType());

metodoSet.invoke(objetoNovo,field.getType().cast(value));   

其中valueString, field '为原始int

这会产生一个异常,String不能被强制转换为int

简单回答。不能将String类型强制转换为int。

尝试使用

    Integer.parseInt(String);

Cast不能转换对象。它只是指定它。

例如,你有一个父类有两个子类。

没有动态的方法可以做到这一点。您需要确定您有一个类型为intInteger的字段和一个要转换的类型为String的值。

一旦你有了,你可以使用Integer.parseInt(..)进行转换。

如果你想添加其他转换对,你需要做同样的事情。查找源和目标类型,并根据这些类型进行适当的转换。

相关内容

  • 没有找到相关文章

最新更新