【发布时间】:2016-05-26 13:10:30
【问题描述】:
我有一个地图(称为masterMap)和一个集合。
masterMap 包含这些值 - {1537=OK, 1538=OK, 1539=OK, 4003=OK}
Set selectedSet =new HashSet();
selectedSet.add(Integer.parseInt("4003"));
boolean compareMapAndSet=masterMap.keySet().equals(selectedSet);
但是,即使地图中存在 4003,compareMapAndSet 始终是 false。
比较有什么问题?
【问题讨论】:
-
呃,他们不相等。
selectedSet不包含 1537、1538 或 1539。 -
为什么一个元素的集合应该等于4个元素的集合?
-
它们总是不同的对象。如果您只需要存在相关的特定值,则需要比较实际内容是否相等,或者使用 contains 或其他内容。
标签: java dictionary set hashset