每当我导入java.awt。*并尝试使用List时 我收到一个错误。
有没有办法导入java.awt。*并使用List?
答案 0 :(得分:2)
类awt和util中List的命名约定存在歧义,因此我们可以通过两种方式处理它:
使用导入
import java.awt.*;
import java.util.List;
import java.util.*;
使用Head First Java中提到的完整路径“使用import或全名”
java.util.List<String> list = new java.util.ArrayList<String>();
答案 1 :(得分:1)
类名列表现在不明确,因为有两个类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'。