我创建了一个带有Color Objects作为键的hashmap。我的源代码如下所示:
HashMap<Color,Integer> hm = new HashMap<Color,Integer>();
现在我想检查HashMap中是否已有Color对象作为键。所以我试过这个:
if (hm.get(colorObject) != null){
不幸的是,它返回false,尽管颜色是相同的。我在控制台中打印颜色,始终为java.awt.Color[r=254,g=0,b=0]
。我还尝试了containsKey
中的方法HashMap
。
那有什么不对?如何检查hashmap中是否有Object?
答案 0 :(得分:2)
尝试if(hm.containsKey(colorObject))
答案 1 :(得分:0)
我试过了:
final Map<Color, Integer> colors = new HashMap<>();
colors.put(new Color(3030), 1);
System.out.println(colors.get(new Color(3030)));
,输出为1,正如预期的那样。因此,您的问题并不像您在问题中确定的那样一般。