是否可以使用类对象声明泛型的类型?
例如,我想做这样的事情:
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/