我使用TreeMap时遇到了问题.
Map<Integer, Integer> a = new TreeMap<Integer, Integer>();
a.put(5,1);
a.put(3,2);
a.put(4,3);
int target = 7;
System.out.println(target - a.get(5)); //line 6
for(Map.Entry b : a.entrySet()){
System.out.println(target - b.getValue()); //line 8
}
Run Code Online (Sandbox Code Playgroud)
上面的代码给了我一个编译错误.但是,当我将第8行更改为:
Map<Integer, Integer> a = new TreeMap<Integer, Integer>();
a.put(5,1);
a.put(3,2);
a.put(4,3);
int target = 7;
System.out.println(target - a.get(5)); //line 6
for(Map.Entry b : a.entrySet()){
System.out.println(target - (int) b.getValue()); //line 8
}
Run Code Online (Sandbox Code Playgroud)
然后它工作.任何人都可以给我一些想法,为什么我不需要在第6行进行任何更改但需要在第8行将Integer转换为int?
java ×1