0

我创建了一个以颜色对象为键的哈希图。我的源代码如下所示:

HashMap<Color,Integer> hm = new HashMap<Color,Integer>();

现在我想检查是否已经有一个颜色对象作为 HashMap 中的键。所以我尝试了这个:

if (hm.get(colorObject) != null){

不幸的是,它返回 false,尽管颜色是相同的。我在控制台中打印颜色,它总是java.awt.Color[r=254,g=0,b=0]. 我也尝试containsKeyHashMap.

那么有什么问题呢?如何检查哈希图中是否有对象?

4

2 回答 2

2

尝试if(hm.containsKey(colorObject))

于 2013-05-12T09:06:23.290 回答
0

我试过这个:

final Map<Color, Integer> colors = new HashMap<>();
colors.put(new Color(3030), 1);
System.out.println(colors.get(new Color(3030)));

正如预期的那样,输出为 1。因此,您的问题并不像您在问题中所界定的那样普遍。

于 2013-05-12T09:22:06.770 回答