我正在使用函数Map.entrySet()
。当我使用import java.util.*
时,它无法找到符号错误。但是,当我在做import java.util.Map.Entry
时,它会编译。不应该“*”包括Map.Entry?
我错过了什么吗?
使用导入java.util.*
的底线让我无法找到符号错误。
对于相同的代码,导入java.Map.Entry;
没有。为什么呢?
谢谢。
答案 0 :(得分:4)
星型导入用于导入包的所有类。指定时
import java.util.*;
您表示所有具有全名java.util.<ClassName>
的类都被视为已导入。
java.util.Map.Entry
是java.util.Map
类的内部类。子类的星级导入将是这样的
import java.util.Map.*;
我不能说使用开始导入是一个好习惯。大多数编码指南建议避免使用它。子类星级导入不是您通常会在代码中遇到的。