Java 类型不匹配:无法从元素类型对象转换为int
我在显示Java 类型不匹配:无法从元素类型对象转换为int,java,Java,我在显示ht.keySet()的行中遇到以下错误: 类型不匹配:无法从元素类型对象转换为int ht是一个 使用整数而不是整数,它可能会工作。 LinkedHashMap中的键必须是对象,而不是基元类型。ht是LinkedHashMap,如果它只包含整数s,则应将其声明为LinkedHashMap 如果将其声明为LinkedHashMap,则将自动取消绑定到int (*)如果您将其声明为需要使用的LinkedHashMap则更好 将ht声明为LinkedHashMap,其中Foo是ht.get(
ht.keySet()
的行中遇到以下错误:
类型不匹配:无法从元素类型对象转换为int
ht
是一个
使用整数而不是整数,它可能会工作。
LinkedHashMap中的键必须是对象,而不是基元类型。ht是
LinkedHashMap
,如果它只包含整数
s,则应将其声明为LinkedHashMap
如果将其声明为LinkedHashMap
,则将自动取消绑定到int
(*)如果您将其声明为需要使用的LinkedHashMap
则更好
将ht
声明为LinkedHashMap
,其中Foo
是ht.get()
希望返回的任何数据类型。使用Map
界面会更好:
LinkedHashMap<Integer, Foo> ht = new LinkedHashMap<Integer, Foo>();
// or preferably
Map<Integer, Foo> ht = new LinkedHashMap<Integer, Foo>();
LinkedHashMap ht=新建LinkedHashMap();
//或者最好
Map ht=newlinkedhashmap();
它必须是:for(整型键:ht.keySet())…
LinkedHashMap
其中K和V是对象,而不是primitiv(int,short…)我不确定这在Java中是否是有效的for语句@m0ski0:从未听说过每个的?我怀疑应该由自动装箱来处理。在Java1.5+中,自动装箱会处理这个问题。真正的问题在于缺乏泛型。
LinkedHashMap<Integer, Foo> ht = new LinkedHashMap<Integer, Foo>();
// or preferably
Map<Integer, Foo> ht = new LinkedHashMap<Integer, Foo>();