java - HashMap.Node 无法识别
问题描述
我正在做一个大项目。所以,这里不可能复制整个代码。但我的问题是,通过评估表达式,我可以尝试以下代码并true
返回:
((HashMap.Node)((HashMap)((FiFiClass)objectTerm.getValue()).getFiFiObjects()).entrySet().toArray()[0]).getKey().equals(FiFiObjectType.AAA)
但是,当我在我的代码中复制完全相同的代码时,Node
它是红色的,当我编写时HashMap.
,我没有得到Node
该短语的可能扩展名。任何人都可以帮助我吗?
我正在使用Java8
.
提前致谢,
解决方案
它是包私有的(更正式地称为“默认访问”)。这意味着它是一个包实现细节,不适用于包外的类。请参阅源代码。
如果您只是想获取第一个键(请记住HashMap 不是 ordered,因此“first”实际上是“一些随机键”),那么您可以使用keySet().iterator().next()
. 如果您不确定至少有一个键,您可能应该将该迭代器存储为局部变量,然后在调用hasNext()
之前调用next()
。
如果您想弄清楚密钥集是否包含FiFiObjectType.AAA
,那么您应该调用... getFiFiObjects().containsKey(FiFiObjectType.AAA)
( javadoc )。
推荐阅读
- netlogo - 向列表项添加属性
- javascript - How to invert boolean arrays inside another array with map and forEach?
- html - 在 Visual Studio 2019 中手动更新数据库
- firefox - xubuntu firefox(FF)从cli(命令行)开始与从gui(菜单选项)开始代理和环境差异
- powerbi - Power Query 错误“我们期望重命名操作值”
- html - 如何将 1 个表中的 s 与另一个表对齐?
- maven - Junit5的测试报告输出插件,还有其他更好的选择吗?Gradle 平台或 maven 平台
- python - URL 处的 NoReverseMatch
- javascript - 无法在 addname 处读取 null 的属性“值”
- java - 如何将带有提醒的事件添加到日历?