0

我正在使用一个函数Map.entrySet()。当我使用import java.util.*它时,它给出了找不到符号错误。但是,当我这样做时,import java.util.Map.Entry它会编译。“*”不应该包括Map.Entry?

我错过了什么吗?

使用导入的底线java.util.*给了我找不到符号错误。对于相同的代码导入java.Map.Entry;不会。为什么?

谢谢你。

4

1 回答 1

7

星形导入用于导入包的所有类。当您指定

import java.util.*;

您表示所有具有全名的类java.util.<ClassName>都将被视为已导入。

java.util.Map.Entry是类的内部java.util.Map类。子类的星形导入将是这样的

import java.util.Map.*;

我不能说使用 start 导入是一个好习惯。大多数编码指南都建议避免使用它。子类星形导入通常不会在代码中遇到。

于 2017-10-15T08:55:29.677 回答