关于clone和equals的一个问题?———————————————————————————————————————————————————————————————————————

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/07 13:44:22
关于clone和equals的一个问题?———————————————————————————————————————————————————————————————————————

关于clone和equals的一个问题?———————————————————————————————————————————————————————————————————————
关于clone和equals的一个问题?
————————————————————————————————————————————————————————————————————————————————————————————————
书上所教也即我所理解的clone方法是这样的:
已知:对象x
对象y=x.clone();
将对象x复制到新的地址空间,并且将新的对象引用传回给y.--------知识点来自清华大学出版社《java程序设计》
_________________________________________________________________________________________________
我的推论:既然新的地址空间,是不是可以理解为这个y和x引用的对象不是同一个了
——————————————————————————————————————————————————————————————————————————————————————————————————
1 java的api中定义:
Object 类的 equals 对于任何非空引用值 x 和 y,当且仅当 x 和 y 引用同一个对象时,此方法才返回 true.
2 在java.lang.Object的clone中有这么一句:
x.clone().equals(x)将为 true
由1和2可以推出x和y引用同一个对象 这和我的推论矛盾了
反推,那是否就可以推出“同一个对象这个概念和地址无关”,也就是张三照镜子,不管是在镜子里和外,他还是他.额.
其中是不是哪里推错了,刚接触java,也许我问的挺幼稚,希望各位不惜赐教.

关于clone和equals的一个问题?———————————————————————————————————————————————————————————————————————
楼主问题很好.
首先这两种说法都是对的.
具体地说:
clone确实是为了产生一个相同的副本,这样在内存中就有两个不同的内存区域放了两个内容相同的对象,然后分别用x,y指向它们.
楼主关于Obeject的equals函数的说法也是对的,在JAVA里面Object的equals 函数确实就是用==来比较的,楼主说 x.clone().equals(x)将为 true,API里同时也说了this is not an absolute requirement,也就是说不是强制必须这样.事实上,我们用的对象(比如我们自己定义了Person类)都是继承自Object,需要比较时,需要自己重写equals函数,这样的话,就跟引用无关了,可以理解为:Object的equals函数这样定义是因为Object本身没有具体意义,不知道怎么比较,具体的程序员写的类的equals函数需要自己定义,往往是比较类的成员变量(比如比较年龄、姓名等成员变量),与引用没什么关系了.
楼主可以查一下String的equals函数,这样就明白了.

关于clone和equals的一个问题?——————————————————————————————————————————————————————————————————————— clone的中文是什么? clone的中文意思 clone的音标准准! 关于音译和意译的问题.汉语中中的外来词分为音译和意译两种.音译是只用发音近似的汉字将外来语翻译过来,比如,“clone”译为“克隆”.意译是只根据原文的大意来翻译.下列外来词属于音 we did study cloning.什么句子结构?为什么用助动词?和 clone的ing形式? clone名词造句,名词翻译为克隆出来的动物和植物 关于微观经济学的一个问题Suppose the short-run production function is q = 10 * L.If the wage rate is $10 per unit of labour,then MC equals 但是不知道是怎么的的出来的L代表的是 劳动量的投入 用于Clone的干细胞,来源于什么? equals()和==的区别?在判断值上和判断对象上 一个关于高数偏导的问题 关于杠杆的一个问题 克隆到底是什么?问题在于在单克隆抗体等,有关克隆的解释是只针对一个抗原决定簇起作用的浆细胞群就是一个纯系,纯系的英文为Clone,音译就是克隆.这是名词,而在目前的生物科学研究中,克 关于chromosome walking染色体行走的问题Q:Chromosome walking is a technique used to clone a gene from its known closest markers.How would you know whether the mutation is upstream or downstream of the known marker?And whether you have found t CLONE怎么样 clone是什么意思? java,String s=hello;和char[] c={'h','e','l','l','o'};的equals为什么为false? 在JAVA中,==和equals()有何不同?reference如何翻译?对象的reference指什么?