Java 实例化通过泛型给出的类的对象

Java 实例化通过泛型给出的类的对象,java,generics,Java,Generics,可能重复: 我有一些代码: public class foo<K> { public void bar() { K cheese = new K(); // stuff } } 公共类foo{ 公共空白栏(){ K奶酪=新的K(); //东西 } } 这不会编译,Intellij的linter告诉我,类型参数“K”不能直接实例化 我如何引用K的一个新副本,您无法很好地执行此操作,因为。执行此操作的标准方法是传递适当的类对象,并使用

可能重复:

我有一些代码:

public class foo<K> {
    public void bar() {
        K cheese = new K();
        // stuff
    }
}
公共类foo{
公共空白栏(){
K奶酪=新的K();
//东西
}
}
这不会编译,Intellij的linter告诉我,
类型参数“K”不能直接实例化


我如何引用
K

的一个新副本,您无法很好地执行此操作,因为。执行此操作的标准方法是传递适当的
对象,并使用此对象实例化新实例

e、 g.来自:

publicstaticvoidappend(列表,类cls)引发异常{
E elem=cls.newInstance();//确定
列表。添加(元素);
}

我知道这只是一个示例,但请注意,您可以将
cls
a
classThank,但您忘记添加方法调用:List ls=new ArrayList();追加(ls,String.class);即使在这种情况下,我仍然无法编译它。它需要构造函数中的一个新参数。为什么假定
K
有一个无参数构造函数?
public static <E> void append(List<E> list, Class<E> cls) throws Exception {
    E elem = cls.newInstance();   // OK
    list.add(elem);
}