NetBeans 7.2中的ArrayList问题

时间:2012-10-02 00:21:26

标签: java netbeans arraylist

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

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

ArrayList<String> list = new ArrayList<>();

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

此外,当我尝试导入时:

import java.util.ArrayList;

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"));

   }
}

3 个答案:

答案 0 :(得分:5)

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

ArrayList<String> list = new ArrayList<>();

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

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

答案 1 :(得分:3)

你必须这样做:

ArrayList<String> myArray = new ArrayList<String>();

它应该可以正常工作!

答案 2 :(得分:1)

更改班级名称,如果您将其命名为&#34; ArrayList &#34;。