Java-在运行时创建泛型类类型
我有下面一行代码Java-在运行时创建泛型类类型,java,reflection,runtime,Java,Reflection,Runtime,我有下面一行代码 public static String getVOFromJson (String jsonString, Sting className) throws IOException { // className value is "MatchDetailsVO" MatchDetailsVO obj = mapper.readValue(jsonString, MatchDetailsVO.class); } 不想硬编码MatchDetailsVO.cla
public static String getVOFromJson (String jsonString, Sting className) throws IOException {
// className value is "MatchDetailsVO"
MatchDetailsVO obj = mapper.readValue(jsonString, MatchDetailsVO.class);
}
不想硬编码
MatchDetailsVO.class
,但想在运行时使用变量className
将类类型转换为classclass.forName(className)
在MatchDetailsVO obj
中硬编码MatchDetailsVO
。将其更改为objectobj
@upog如果知道传递的类是MatchDetailsVO
的子类,则可以使用强制转换。否则,请声明类型为Object
的obj
。如果希望该类是MatchDetailsVO
的子类,请使用class.forName(className).asSubclass(MatchDetailsVO.class)
。如果传递的className
不是MatchDetailsVO
的子类,则会引发异常。将完全限定名作为字符串传递。