我有一个形式的界面:
public interface Tester<K1, V1> {
...
}
客户端将实现此接口,然后将其子类的 .class 文件传递给我。然后我通过以下方式从界面中解析出 K1、V1:
// Assume only Tester<K1, V1> is implemented for now:
Type genericInterface = ClientClass.class.getGenericInterfaces()[0];
if(genericInterface instanceof ParameterizedType){
Type[] genericTypes = ((ParameterizedType) genericInterface).getActualTypeArguments();
List<?> myList = new ArrayList<genericTypes[1]>(); // THIS DOES NOT WORK!
}
我正在尝试根据在其接口中声明的泛型类型实例化一个列表。在java中执行此操作的正确方法是什么?这可能吗?我的做法似乎行不通。