Java 实例化新ArrayList时发生编译错误

Java 实例化新ArrayList时发生编译错误,java,list,Java,List,我有以下代码: import java.util.*; import java.io.*; import java.util.*; import java.io.*; public class ShufflingListAndArray { public static void main(String[] args) throws IOException { List <String> services = new ArrayList<String>

我有以下代码:

import java.util.*;
import java.io.*;
import java.util.*;
import java.io.*;

public class ShufflingListAndArray
{
   public static void main(String[] args) throws IOException
   {
   List <String> services = new ArrayList<String> (
   Arrays.asList("COMPUTER", "DATA", "PRINTER"));//here I have used List <String> services=new ArrayList<String>( 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);
   }
} 
import java.util.*;
导入java.io.*;
导入java.util.*;
导入java.io.*;
公共类ShufflingListandaray
{
公共静态void main(字符串[]args)引发IOException
{
列表服务=新的ArrayList(
Arrays.asList(“计算机”、“数据”、“打印机”);//这里我使用了List services=new ArrayList(Arrays.asList(“计算机”、“数据”、“打印机”);//后面是下一个语句Satring s=services.get(rnd.nextInt(services.size());
字符串s=services.get(rnd.nextInt(services.size());
集合。洗牌(列表);
//集合。排序(列表);
System.out.println(“列表排序:+List”);
}
} 
当我编译这个程序时,我得到以下错误:

C:\>javac ShufflingListAndArray.java
ShufflingListAndArray.java:6: '(' or '[' expected
    List<String> services = new ArrayList<String>(
                                         ^
1 error
C:\>javac shufflinglistandaray.java
ShufflingListandaray.java:6:'('或'['应为
列表服务=新的ArrayList(
^
1错误

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

我模糊地记得必须将所有内容添加到列表中,而不是将列表传递到ArrayList构造函数中

用以下内容替换主函数的前几行:

List<String> services = Arrays.asList("COMPUTER", "DATA", "PRINTER");
List services=Arrays.asList(“计算机”、“数据”、“打印机”);
下面是一个例子

(您还有双
导入java.util.*;

编辑:


考虑到其他答案和对我答案的评论,您的代码似乎是正确的,问题更可能是您需要使用Java 5(或更新版本)编译它,这是引入时的版本。如果您必须在1.4.2或您拥有的任何版本上运行它,请删除
的实例,然后您就可以开始了。

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

如果您以后可能需要修改该列表,它将被删除将引发UnsupportedOperationException,因为从Arrays.asList返回的列表不可修改。若要解决此问题,请通过“复制构造函数”将列表复制到ArrayList(或LinkedList或其他)中正如原始问题或mkoryak所说的addAll。您使用的是哪一个Java版本?泛型仅在Java 5中受支持…我想知道这应该如何编译?或者这只是您代码的一小部分?首先,rnd没有声明,list也没有声明?!我不会很快获得IDE。首先正确地学习基本概念:)