Java forName以类型返回值
我可以使用Class.forName返回的类值作为类型吗 e、 gJava forName以类型返回值,java,reflection,Java,Reflection,我可以使用Class.forName返回的类值作为类型吗 e、 g String hdrClassName=“generated.MessageHeader”; 类msgHdrClass=Class.forName(hdrClassName); JAXBElement jaxbWrapperElement1=(JAXBElement)jaxbUnmarshaller.unmarshal(新文件(“./src/MessageHeader.xml”); 如果没有,是否有一种方法可以实现“使用在运行
String hdrClassName=“generated.MessageHeader”;
类msgHdrClass=Class.forName(hdrClassName);
JAXBElement jaxbWrapperElement1=(JAXBElement)jaxbUnmarshaller.unmarshal(新文件(“./src/MessageHeader.xml”);
如果没有,是否有一种方法可以实现“使用在运行时传递的类名作为java中的类型”这有什么意义?Java中的泛型支持更复杂的高阶编译时类型系统。泛型类型仅在编译时存在,并且只有在编译时知道类型时才有用。如果您知道您的msgHdrClass总是扩展一个特定的类或接口,那么您可以使用像
jaxementsee:@ErwinBolwidt这样的结构,您应该将其作为答案发布。
String hdrClassName = "generated.MessageHeader";
Class msgHdrClass= Class.forName(hdrClassName);
JAXBElement<msgHdrClass> jaxbWrapperElement1 = (JAXBElement<msgHadrClass>)jaxbUnmarshaller.unmarshal(new File("./src/MessageHeader.xml"));