【发布时间】:2012-10-16 12:25:04
【问题描述】:
模板的 T 在
JAXBContext jaxbContext = JAXBContext.newInstance(T.class);
无法编译 T.class ,是否需要反射以及如何?
public void ConvertObjectToXML(String path, T bobject)
{
//Convert XML to Object
File file = new File(path);
JAXBContext jaxbContext = JAXBContext.newInstance(T.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
T customer2 = (T) jaxbUnmarshaller.unmarshal(file);
System.out.println(customer2);
}
【问题讨论】:
-
这个“T”参考是什么?它看起来不像是通用的(由于 T.class 参考)。你是怎么来的?
-
T 不是一个类,是吗?
-
我猜
T是这里的泛型类型?在这种情况下,上述代码将无法编译,因为T.class无效。这是由于类型擦除。如果您在运行时需要泛型的类,请看这里:stackoverflow.com/questions/2225979/… -
是的,是泛型类型,Template的T
-
Java 泛型与 C++ 中的模板不同;不要将 T 称为“模板的 T”。
标签: java