我认为答案应该是B,为啥选D呢?

解决方案 »

  1.   

    如果17行就回收了,后面print什么?
      

  2.   

    list里面存的是integer对象,
    你的for循环里面生成的所有对象,都被list里面的数据引用到了
    所以jvm不会回收,回收了就出问题了
      

  3.   

     把引用给numbers的引用指向了intObj指向的数值地址了了 所以要看numbers的作用域 而它在整个方法里 所以方法结束才会回收
      

  4.   

    同5楼,6楼的回答。new出来的Integer对象能被numbers列表访问到,所以还不能被回收。
      

  5.   


    11. public static int sum(List<Integer> intList){
    12.   int sum = 0;
    13.   for (int i : intList) {
    14.     
    15.     sum+=i;
    16.   }
    17.   return sum;
    18. }
    我也看到了这道题。答案给的是ACF。打出来就明白多了。