锁定老帖子 主题:obj使用后赋值null讨论
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2011-11-16
和大家讨论一下,下面代码的输入结果是:
import java.util.ArrayList; import java.util.List; public class ParamValue { public static void main(String[] args) { List<TestObject> objs = new ArrayList<TestObject>(); TestObject obj = null; for (int i = 0 ;i < 3; i++) { obj= new TestObject(); obj.setName("yihaodian"+String.valueOf(i)); objs.add(obj); // obj 设置成 null obj = null; } for (TestObject testObject : objs) { testObject.showInfo(); } } } class TestObject { private String name; public void showInfo() { System.out.println(this.getName()); } public String getName() { return name; } public void setName(String name) { this.name = name; } } 请大家在没有运行程序前,写出答案。明天给出结果 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-11-16
就是yihaodian0 1 2 吧..LZ想说明什么
|
|
返回顶楼 | |
发表时间:2011-11-16
楼主你想干什么?
|
|
返回顶楼 | |
发表时间:2011-11-16
scropo 写道 楼主你想干什么?
我也同样的问题,我以为会有什么意外。而且我告诉自己说,如果错了,我以后就不说自己知道Java,结果没有意外发生。 |
|
返回顶楼 | |
发表时间:2011-11-16
有什么不同?LZ想表达什么
|
|
返回顶楼 | |
发表时间:2011-11-16
lz是不是想表达,obj设置为null之后,有人会误以为objs中的三个对象也都变成空了。这点倒是有容易让人迷惑的。
|
|
返回顶楼 | |
发表时间:2011-11-16
obj=null;
此句有什么用? |
|
返回顶楼 | |
发表时间:2011-11-16
写C留下来的后遗症?
|
|
返回顶楼 | |
发表时间:2011-11-16
bo_hai 写道
和大家讨论一下,下面代码的输入结果是:
import java.util.ArrayList; import java.util.List; public class ParamValue { public static void main(String[] args) { List<TestObject> objs = new ArrayList<TestObject>(); TestObject obj = null; for (int i = 0 ;i < 3; i++) { obj= new TestObject(); obj.setName("yihaodian"+String.valueOf(i)); objs.add(obj); // obj 设置成 null obj = null; } for (TestObject testObject : objs) { testObject.showInfo(); } } } class TestObject { private String name; public void showInfo() { System.out.println(this.getName()); } public String getName() { return name; } public void setName(String name) { this.name = name; } } 请大家在没有运行程序前,写出答案。明天给出结果
|
|
返回顶楼 | |
发表时间:2011-11-16
楼主,你想说明什么?
|
|
返回顶楼 | |