关于Clone的讨论与实例 12true22true1true 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 12true22false1false 什么是hashtable啊,解释下好不faen? 浅克隆a为原对象,b为复制对象====================12---------(append后a.str1内容是12)true---------(a.str1和b.str1句柄一致,都是指向同一内存地址)22---------(a.str2="22"这一句实际上是将a.str2指向新分配的常量内存空间"22",所以a.str2句柄变了,但b.str2没变,还是指向原来的地方--初始化的new StringBuffer()。但这一块内存内容为null).false--------基于上述1------a.htl 放入了一个元素,所以长度是1false-----a.htl和b.htl都是指向同一地址,故a和b长度一样---------------HashTable是散列表结构,一个key对应一个值。 再补充:1。由上可以看出,对于深浅克隆的不同点就是它们对基本类型和对象类型有不同和相同的待遇。在浅克隆中,基本类型的内容被复制到新的内存块中(即深克隆的意思),而对象类型只是复制了它们的引用而已。如例子中所示,StringBuffer对象和HashTable对象在复制对象中都只是原对象的引用。String虽然也是对象,但是它很特殊,无需特殊处理就已经被深克隆了,因此可以看作是基本类型。2。在深度克隆中就是要将对象类型内容复制到新的内存块中,而不是复制原对象的内存引用。因此可以对对象成员也来一个clone方法。由于StringBuffer类本身是final的,并且也没有重写Object类的clone方法,所以只能通过new Stringbuffer()来实现深克隆。3。可以通过实现serializable来实现深克隆,但是对于有transient限制的字段,序列化也没办法。 java---QQ 内部文件共享盘 JSP小问题 有关equals()和compareTo()的一个小问题,望高手答疑。 今天你投了没? 可恶的微软! 怎么对list对象进行查询? 我在JPanel上做的图的怎么保存啊 byte/char/short在运算过程中遇到的问题 我刚刚开始写java程序,碰了一个钉子(巨简单的问题,白送分了) jni中中文的乱码问题? 书上的代码,编译错误,帮看看
true
22
false
1
false
a为原对象,b为复制对象
====================
12---------(append后a.str1内容是12)
true---------(a.str1和b.str1句柄一致,都是指向同一内存地址)
22---------(a.str2="22"这一句实际上是将a.str2指向新分配的常量内存空间"22",所以a.str2句柄变了,但b.str2没变,还是指向原来的地方--初始化的new StringBuffer()。但这一块内存内容为null).
false--------基于上述
1------a.htl 放入了一个元素,所以长度是1
false-----a.htl和b.htl都是指向同一地址,故a和b长度一样---------------
HashTable是散列表结构,一个key对应一个值。
1。由上可以看出,对于深浅克隆的不同点就是它们对基本类型和对象类型有不同和相同的待遇。
在浅克隆中,基本类型的内容被复制到新的内存块中(即深克隆的意思),而对象类型只是复制了它们的引用而已。如例子中所示,StringBuffer对象和HashTable对象在复制对象中都只是原对象的引用。String虽然也是对象,但是它很特殊,无需特殊处理就已经被深克隆了,因此可以看作是基本类型。2。在深度克隆中就是要将对象类型内容复制到新的内存块中,而不是复制原对象的内存引用。因此可以对对象成员也来一个clone方法。由于StringBuffer类本身是final的,并且也没有重写Object类的clone方法,所以只能通过new Stringbuffer()来实现深克隆。3。可以通过实现serializable来实现深克隆,但是对于有transient限制的字段,序列化也没办法。