不应该将你的实现与List的特定实现联系起来。 使用接口的想法是,从外部看,如果它适合List接口,实例化的具体类就不重要了。
编辑:
无论如何,这是一种可能的方法。
列表lst1=new ArrayList (;
Class klass1=lst1.getClass (;
listcopy1=(list ) klass1.newInstance );
system.out.println (copy1. getclass ().getName ) );
java.util.ArrayList
列表lst2=new linked list (;
Class klass2=lst2.getClass (;
listcopy2=(list ) klass2.newInstance );
system.out.println (copy2. getclass ().getName ) );
java.util.LinkedList
从控制台可以看到,副本是与原始列表相同类的实例。