-1

每当我导入 java.awt.* 并尝试使用 List 时,都会出现错误。

有什么方法可以导入 java.awt.* 并使用 List 吗?

4

3 回答 3

2

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

  1. 使用导入

    import java.awt.*;

    import java.util.List;

    import java.util.*;

  2. 使用完整路径,如 Head First Java 中所述,“使用导入或全名”

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

于 2012-07-01T09:26:36.273 回答
1

通过Google快速搜索

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

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

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

于 2012-07-01T01:42:29.053 回答
1

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

我想你会这样称呼你的名单:

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

所以这样编译器就知道你指的是哪个“列表”。

于 2012-07-01T01:43:03.540 回答