是否可以使用类对象声明泛型的类型?

例如,我想做这样的事情:

Class returnType = theMethod.getReturnType();

AttributeComponent<returnType> attComponent;

attComponent = new AttributeComponent<returnType>(returnType, attName);
attributeComponents.put(methodName.substring(3), attComponent);


现在我知道这显然是不正确的,但是有没有办法实现呢?

编辑:解释一点

我正在使用反射遍历所有吸气剂,然后为每个属性生成一个UI元素(AttributeComponent类,该类具有JComponent元素和JLabel)。我想使用泛型来创建一个getValue()方法,该方法将返回属性类型的对象。

最佳答案

我不知道是否有一种方法可以编译这样的东西,但是它没有什么价值。

认为由于类型擦除,所以编译的类不使用泛型信息。也就是说,在编译时(而不是在运行时)执行Set<String> a = new Set<String>();对于检查a的使用很有用。

因此,您想实例化一个泛型,其类型只会在运行时知道,而在运行时将不会使用。

关于java - 在运行时使用类对象定义泛型类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12778203/

10-09 06:11
查看更多