Hashtable<String, Integer> coordinates= new Hashtable<String, Integer>();
String value = (String) cb1.getSelectedItem();
if(value==coordinates.keys())
它给我一个"不稳定的操作数类型字符串和枚举"错误,任何想法我如何在没有循环的情况下比较这两个?
您不能仅仅因为Set
是Strings
的集合。比较就像"我有这桶苹果,我得到了这个苹果,让我们比较它们"。您能做的是检查String
是否是Set
的一部分,这与调用coordinates.keys().contains(value)
一样简单。
以及比较:
不要使用==
比较Strings
。==
按值进行比较,如果Objects
(例如Strings
)为参考。改用string1.equals(string2)
。这个问题在此问题中更广泛地涵盖了这个主题
使用将返回集合的按键方法。然后呼叫包含所选值。
Hashtable<String, Integer> coordinates= new Hashtable<String, Integer>();
String value = (String) cb1.getSelectedItem();
if (coordinates.keySet().contains(value)) {
//Some action...
}