自信的近义词是什么呢:在JAVA中,"=="和"equals()"有何不同?reference如何翻译?对象的reference指什么?谢谢

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/19 09:28:11

equals()是用来判断两个变量的内容是否相同,如sting a="china",b="china";equals(a,b)得到的会是一个真值。==是用来判断两个变量或对象是否在同一个地址空间里。如果你以前有过编程经验,那一定听懂了我上面说的什么,下面我重点说一下reference。假如你有C的编程经验一定对指针不会陌生的,而reference就是java中的指针。Java中的reference就是一个地址,它指向了一个内存空间,这个空间存放着一个对象的相关信息。大家都知道C的指针不能为空,必须定义初值,而reference可以灵活应用可以使值为NULL。但C的指针概念可是引用到reference上。

equals()其实是重载的Object类的方法,在什么情况下两个对象相等要看你怎么重载的这个方法。比如字符串String就是内容一样就equal。

==其实是比较两个reference是否refer to(引用到)同一个对象。

比如String s1 = "kkk";
String s2 = "kkk";

因为内容相同,s1.equals(s2) 为true;
但是s1和s2引用到不同的对象,所以s1==s2为false
简单的讲,s1,s2就分别是这两个字符串对象的reference

==是指两个对象存放的位置是否相同,equals是指两个对象的内容是否相等,如果==则一定equals,反之,若equals则不一定==
reference是引用的意思