java中的符号问题

来源:百度知道 编辑:UC知道 时间:2024/06/01 01:25:14
==与.equals 都有标示“=”的意思,区别和用法是什么?通俗点的说~ 最好友例子

http://zhidao.baidu.com/question/68062311.html?si=2
这个说得很好了.
关于值和对象打个比方
公司A="软件公司";//在A区
公司B="软件公司";//在B区
公司A.equql(公司B)
当然等,因为都是软件公司
公司A==公司B
当然不等,因为他们不是同一个公司,地址都不同

==和equals都是相等的意思,对简单变量时一样的,如int a=1,b=1;
a==b和a.equals(b)是一样的;

但java中的对象与之不同;如果是对象相等(==)必须是指向同一块目标,就是指向的必须相等,但(equals)是内容相等即可不一定是内存指向相等。

(==)a-->(内存空间)
|
|
V
b
a==b;

(equals) a-->(内存空间(0x0000001) 关键字=100)
b-->(内存空间(0x0000002)关键字=100)
a.equals(b);

希望我说清楚了……

在比较字符型数据时,==比较的是内存中的地址,比较的是对象的句柄;而equals()比较的是地址内的内容,比较的是对象.

JAVA中除基本数据类型外其它一切都是对象,而对象变量存储的都是引用,相当于C中的指针,所以在比较对象时如String,用==是比较两个变量是否指向同一个对象,而用equals才是比较两个String的内容是否相等

引用类型的时候 ==指引用 equal比较的是引用的对象

表示对象时,所声明的那