实例化新ArrayList时的编译错误

我有以下代码:

import java.util.*; import java.io.*; import java.util.*; import java.io.*; public class ShufflingListAndArray { public static void main(String[] args) throws IOException { List  services = new ArrayList ( Arrays.asList("COMPUTER", "DATA", "PRINTER"));//here I have used List  services=new ArrayList( Arrays.asList("COMPUTER", "DATA", "PRINTER"));// followed by next statement Satring s=Services.get(rnd.nextInt(Services.size())); String s = services.get(rnd.nextInt(services.size())); Collections.shuffle(list); //Collections.sort(list); System.out.println("List sorting :"+ list); } } 

当我编译这个程序时,我收到以下错误:

 C:\>javac ShufflingListAndArray.java ShufflingListAndArray.java:6: '(' or '[' expected List services = new ArrayList( ^ 1 error 

有人可以帮我解决这个错误吗?

用这个替换主函数的前几行:

 List services = Arrays.asList("COMPUTER", "DATA", "PRINTER"); 

按照Arrays.asList文档中的示例。

(你也有双重import java.util.*;

编辑:

考虑到我的答案的其他答案和评论,你的代码似乎是正确的,并且问题更可能是你需要使用Java 5(或更新版本)编译它,这是引入generics时的版本。 如果您必须在1.4.2或您拥有的任何版本上运行它,请删除的实例,您将会很高兴。

我认为你需要-source 1.5或-source 1.6。 或者更好的是使用IDE。 Eclipse,NetBeans和IntelliJ都是免费的。

我依稀记得必须将addAll添加到列表中,而不是将列表传递给ArrayLists构造函数