【问题标题】:Cannot find symbol when using entrySet() function after import java.util.*导入 java.util.* 后使用 entrySet() 函数时找不到符号
【发布时间】:2017-10-15 08:40:58
【问题描述】:

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

我错过了什么吗?

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

谢谢。

【问题讨论】:

  • 请显示实际编译失败的代码。
  • ““*”不应该包括 Map.Entry 吗?我不这么认为(如果您直接使用Entry,则必须使用import j.u.Map.Entry。通常,使用Map.Entry 而不是Entry
  • 附带说明,您应该开始使用一些 IDE,它们会为您处理导入;)

标签: java import hashmap entryset


【解决方案1】:

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

import java.util.*;

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

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

import java.util.Map.*;

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

【讨论】:

  • 感谢您的解释。
猜你喜欢
  • 1970-01-01
  • 2021-05-21
  • 1970-01-01
  • 2019-04-06
  • 1970-01-01
  • 1970-01-01
  • 2022-12-31
  • 2015-09-27
  • 2019-09-24
相关资源
最近更新 更多