【发布时间】:2014-02-28 13:16:23
【问题描述】:
大家都在这里!我想将一个类型传递给一个泛型类型,比如 Arraylist,我该怎么做?我做了一个简单的例子,让你知道我想要什么,当然这段代码是错误的。
public static void passObjType(Object obj) {
Class clazz = obj.getClass();
ArrayList<clazz> arr = new ArrayList<clazz>();
}
public static void main(String[] args) {
HashSet<String> hs = new HashSet<String>();
passObjType(hs);
}
我希望,如果我输入一个 HashSet 对象,函数 PassObjType() 将创建一个带有 HashSet 的 Arraylist,如果我输入一个 String 对象,那么它将创建一个带有 String 的 Arraylist。我怎样才能做到这一点?
【问题讨论】:
-
你不能那样做。类型参数必须在编译时知道。你不能在运行时添加它。
标签: java generics reflection arraylist