4

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

   }
}
4

3 回答 3

5

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

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

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

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

于 2012-10-02T03:05:25.567 回答
3

你所要做的:

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

它应该可以正常工作!

于 2012-10-02T02:32:18.397 回答
1

如果您将其命名为“ ArrayList ”,请更改类名

于 2014-06-12T10:17:15.650 回答