小编yyy*_*ung的帖子

为什么需要从Integer转换为int

我使用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

22
推荐指数
2
解决办法
1966
查看次数

标签 统计

java ×1