NetBeans7.2中的ArrayList问题

Bor*_*sky 4 java netbeans arraylist

我是Java的新手,但我很喜欢它!

我正在使用NetBeans7.2,当我尝试创建一个这样的ArrayList时:

ArrayList<String> list = new ArrayList<>();
Run Code Online (Sandbox Code Playgroud)

NetBeans说"类型ArrayList不带参数"(这没有意义,因为我的代码很简单,接缝对Java7来说是正确的).

此外,当我尝试导入时:

import java.util.ArrayList;
Run Code Online (Sandbox Code Playgroud)

NetBeans说"已在此编译单元中定义了ArrayList".

没有必要再导入ArrayList了?

非常感谢你!请原谅我糟糕的英语;)

编辑:这是我的完整代码(这只是一个练习)

import java.util.ArrayList;
public class ArrayList {

   public static void main(String[] args) {

      ArrayList<String> cores = new ArrayList<>();
      cores.add("Branco");
      cores.add(0, "Vermelho");
      cores.add("Amarelo");
      cores.add("Azul");
      System.out.println(cores.toString());

      System.out.println("Tamanho= " + cores.size());
      System.out.println("Elemento2= " + cores.get(2));
      System.out.println("Indice Branco= " + cores.indexOf("Branco"));

      cores.remove("Branco");

      System.out.println("Tem Amarelo?" + cores.contains("Amarelo"));

   }
}
Run Code Online (Sandbox Code Playgroud)

Cos*_*lis 5

如果您将类名更改为ArrayList以外的其他名称,那么您的代码在Java7中绝对正确,使用菱形运算符(<>)是合法的:

ArrayList<String> list = new ArrayList<>();
Run Code Online (Sandbox Code Playgroud)

这背后的基本思想是,实例化泛型类的代码可以变得不那么冗长.Java7编译器意味着自动需要什么.

Java6会抱怨并要求你按照Jon建议的方式编写它.