使用List并同时导入java.awt。*

时间:2012-07-01 01:37:35

标签: java arraylist

每当我导入java.awt。*并尝试使用List时  我收到一个错误。

有没有办法导入java.awt。*并使用List?

3 个答案:

答案 0 :(得分:2)

类awt和util中List的命名约定存在歧义,因此我们可以通过两种方式处理它:

  1. 使用导入

    import java.awt.*;

    import java.util.List;

    import java.util.*;

  2. 使用Head First Java中提到的完整路径“使用import或全名”

    java.util.List<String> list = new java.util.ArrayList<String>();

答案 1 :(得分:1)

来自a quick Google search

类名列表现在不明确,因为有两个类java.awt.List和java.util.List。您可以通过添加类名的特定导入来解决歧义:

import java.awt.*;
import java.util.*;
import java.util.List;

但是,如果需要在同一源文件中引用java.awt.List和java.util.List,那么您已经越过了导入机制的限制。您可以使用import语句将其中一个名称缩短为List,但只要在源文本中出现该名称,就需要以其全名引用另一个名称。

答案 2 :(得分:1)

问题是java.awt里面还有一个List,所以当你调用List时,编译器不知道你正在使用哪一个。

我想你会像这样打电话给你的名单:

java.util.List list = new java.util.List();

这样编译器就知道你指的是哪个'List'。