如何获取泛型类型参数的包名(通常是类)?我有一个类似的课程:
public class MyClass<T> {}
return T.class.getPackage().getName();
我需要这个,因为JAXB需要这个作为上下文路径( JAXBContext.newInstance(String) 方法)。当然,我对更优雅的工作方式持开放态度 JAXBContext . :)
JAXBContext.newInstance(String)
JAXBContext
干杯
这是一个可能的解决方案(如果您可以更改MyClass):
public class MyClass<T> { private Class<T> clazz; public MyClass (Class<T> clazz) { this.clazz = clazz; } public String getPackageNameOfGenericClass() { return clazz.getPackage().getName(); } }