一道java小题

来源:百度知道 编辑:UC知道 时间:2024/06/24 10:38:18
256. 已知:
11. public void genNumbers() {
12. ArrayList numbers = new ArrayList();
13. for (int i=0; i<10; i++) {
14. int value = i * ((int) Math.random());
15. Integer intObj = new Integer(value);
16. numbers.add(intObj);
17. }
18. System.out.println(numbers);
19. }
哪一行程式码最早标示 intObj 参照的物件有资格成为资源回收的对象?
A. 第 16 行
B. 第 17 行
C. 第 18 行
D. 第 19 行
E. 此物件「并非」资源回收的对象。
Answer: D

为什么不是b呢???
不是有错误 问的是资源回收的问题

十八行代码中. System.out.println(numbers); 对ArrayList对象引用number存在,而number又持有 intObj对象,所以此时intObj不会被回收,19行后,intObj不被任何变量引用,所以19行后,intObj就有可能被 回收

我测试过了,好像没有任何错误