Java中的字母排序-错误和警告?

Java中的字母排序-错误和警告?,java,list,alphabet,Java,List,Alphabet,我正在尝试使用Collections.sort方法和java.util.list创建一个按字母顺序排列列表的程序,错误为:发现1个错误和15个警告: Error: java.util.List is abstract; cannot be instantiated -------------- ** Warnings ** -------------- Warning: unchecked call to add(E) as a member of the raw type java.util.

我正在尝试使用Collections.sort方法和java.util.list创建一个按字母顺序排列列表的程序,错误为:发现1个错误和15个警告:

Error: java.util.List is abstract; cannot be instantiated
--------------
** Warnings **
--------------
Warning: unchecked call to add(E) as a member of the raw type java.util.List
Warning: unchecked method invocation: method sort in class java.util.Collections is applied to given types
  required: java.util.List<T>
  found: java.util.List

正如错误所说,
List
是抽象的,您需要一些具体的实现。在您发布的案例中,
ArrayList
就可以了

还请注意,您使用的是
List
作为原始类型;不要这样做(除非您使用的是Java5之前的版本)。使用类型参数对其进行参数化(此处为
String

还有:不要将
words
的声明更改为
ArrayList
List
已经足够好了(通常),如果保持不变,您就可以在以后更改实现

总之:

List<String> words= new ArrayList<String>();
List words=new ArrayList();
或者,如果使用Java 7:

List<String> words= new ArrayList<>();
List words=new ArrayList();

您不能实例化
java.util.List
,但可以实例化它的一些实现。比如java.util.ArrayList
。请注意,它们是通用的

只需修复以下问题:

 List words= new List();

List words=new ArrayList();

谢谢你的帮助,还有,我如何打印这个新的排序列表?我试图通过调用main中的方法来打印它,但这不起作用。你能发布一下它怎么不起作用吗?System.out.println(单词)应该足够了。
 List words= new List();
 List<String> words= new ArrayList<String>();