当几个引用指向同一个java对象的时候,用什么办法能让这几个引用都变成 null?
2014-06-18 14:01
302 查看
csdn上有讨论:http://bbs.csdn.net/topics/260077332
精彩回复:
1楼:
你单纯的a=null,那肯定只是a会指向空对象;
其他三个引用仍然是指向创建的那个对象.
你要把所有引用都变成NULL
42楼:哈哈,楼主说的不错,有本事用弱引用让一个为null时其它的都为null.
有人在搞笑,还装很懂,说白了,这是不可能实现的,因为这是一个语法的原因:
String s = "xxxx";
String s1 = s;
String s2 = s;
无论你s指向什么,不可能在语句s = null时同时自动执行s1 = null;s2 = null;
这不是说改变原来指向的结对象是什么,或以什么方式指向对象,而是同时执行三条重新赋值语句,
和它们用什么方向指向对象以及原来对象是什么没有关系.
对于这样的结果还说有解的话,到底是不是无知,那只能是公道自在人心了.
就象说在算术运行的前提下,让1+1=1,我说无解,那么有解的人是无知还是有知?
精彩回复:
1楼:
你单纯的a=null,那肯定只是a会指向空对象;
其他三个引用仍然是指向创建的那个对象.
你要把所有引用都变成NULL
42楼:哈哈,楼主说的不错,有本事用弱引用让一个为null时其它的都为null.
有人在搞笑,还装很懂,说白了,这是不可能实现的,因为这是一个语法的原因:
String s = "xxxx";
String s1 = s;
String s2 = s;
无论你s指向什么,不可能在语句s = null时同时自动执行s1 = null;s2 = null;
这不是说改变原来指向的结对象是什么,或以什么方式指向对象,而是同时执行三条重新赋值语句,
和它们用什么方向指向对象以及原来对象是什么没有关系.
对于这样的结果还说有解的话,到底是不是无知,那只能是公道自在人心了.
就象说在算术运行的前提下,让1+1=1,我说无解,那么有解的人是无知还是有知?
相关文章推荐
- Java中堆内存和栈内存_在建立一个对象时从两个地方都分配内存,在堆中分配的内存实际建立这个对象,而在堆栈中分配的内存只是一个指向这个堆对象的指针(引用)。修改栈指针就可以把栈中的内容销毁.这样最快
- Java中int和Integer的区别:int 是基本类型,直接存数值 ;integer是对象,用一个引用指向这个对象
- java中当给一个对象赋值为null时发生了什么
- JAVA父类引用指向子类的对象是什么意思?有什么作用?
- 什么是对象的句柄?它是指针吗?它是引用吗?它是指向指针的指针?它是什么?
- Java 中深层理解父类引用指向子类对象
- (转)Java中定义对象的时候,New和Null的内存调用
- 构造一个通用的回调Thunk.(把回调函数指向对象的方法的办法)
- 一个例子说明java数据类型包括对象是赋值还是引用!!!
- 一个实体对象不能由多个 IEntityChangeTracker 实例引用 解决办法
- Java 中深层理解父类引用指向子类对象
- java 子类引用指向派生类对象时 重载和覆盖的区分
- Java 中深层理解父类引用指向子类对象
- Java 把对象作为参数传到一个方法里,这个是值传递还是引用传递, 为什么结果这么怪?
- Java 父类引用指向子类对象
- 将Object转换成动态指定的对象,将一个实例引用指向一个Object引用
- 在使用Linq to SQL并序列化一个数据对象的时候报System.InvalidOperationException异常,序列化类型XXX的对象时检测到循环引用。
- (JAVA自学笔记)创建一个对象都在内存中做了什么事情
- java多态,如何理解父类引用指向子类对象
- 构造一个通用的回调Thunk.(把回调函数指向对象的方法的办法)