实例化新ArrayList时的编译错误

时间:2010-02-28 06:12:29

标签: 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> (
   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);
   }
} 

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

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

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

3 个答案:

答案 0 :(得分:2)

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

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

按照Arrays.asList documentation上的示例。

(你还有双import java.util.*;

修改

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

答案 1 :(得分:1)

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

答案 2 :(得分:0)

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