我的课程类似于下面给出的课程
public class MyClass<K,V>{
public MyClass(Properties prop){
Map<K,V> myMap = new HashMap<K,V>();
}
}
我需要将String
作为K
和V
作为MyAnotherClass
传递来调用此类,但MyAnotherClass
将被视为用户输入文件,如何从文件中的给定名称创建MyAnotherClass
,并将其传递给
MyClass<String,MyAnotherClass> = new MyClass<String,MyAnotherClass>()
。实现同样目标的最佳途径是什么。
任何帮助都将不胜感激。
谢谢
答案 0 :(得分:0)
Java会删除编译时的类型,因此您需要让用户在运行时传入类型(通过传入类型的Class
对象)。
import java.util.Properties;
import java.util.HashMap;
import java.util.Map;
public class MyClass<V extends Class<V>> {
public MyClass(Properties prop, V type){
Map<String,V> myMap = new HashMap<String,V>();
}
}
会给你你需要的东西。它将被称为
new MyClass(properties, Customer.class);