黑马程序员技术交流社区
标题:
== 和equals的区别是什么
[打印本页]
作者:
左丘无烈
时间:
2016-9-26 17:24
标题:
== 和equals的区别是什么
(^^)求指教
作者:
Frankle
时间:
2016-9-26 18:16
==: 运算符, 基本数据类型比较的是值,引用数据类型比较的是地址值
equals:方法 只有引用数据类型可以调用,比较的是内容
作者:
煮酒拭剑赏美人
时间:
2016-9-26 20:30
楼上这位兄台说的不具体,小弟来补充一下,==: 运算符, 基本数据类型比较的是值,引用数据类型比较的是地址值
。
equals:方法 只有引用数据类型可以调用,它是Object类的方法,默认是和==一样比较地址值的,但是一般都是重写这个方法,用来比较两个引用数据是否相等。
作者:
不羁的码农
时间:
2016-9-26 20:33
==: 运算符, 基本数据类型比较的是值,引用数据类型比较的是地址值 equals:方法 只有引用数据类型可以调用,比较的是内容
作者:
tanghuiTom
时间:
2016-9-26 21:22
==: 运算符, 基本数据类型比较的是值,引用数据类型比较的是地址值。
equals:方法只有引用数据类型可以调用,它是Object类的方法,默认是和==一样比较地址值的,但是一般都是重写这个方法,用来比较两个引用数据是否相等。
比如: String a = new String("abc"); String b = new String("abc"); 这个时候a != b。 但是a.equals(b)的结果却是true,就是因为String类重写Object类的equals()方法。
但是如果是这样: String a = "abc"; String b = "abc"; 这个时候a==b,和a.equals(b)的结果都是true。这个就涉及到字符串常量池的问题了。此时的a和b的值都是从常量池里面获取的,所以他们的地址也就相等了。
作者:
459374998
时间:
2016-9-26 21:28
简单点就是,==比较地址,equal()比较内容。
作者:
IceLoveInFire丶
时间:
2016-9-26 21:31
== 比较的是基本数据类型。
equals 默认比较的是地址值,子类会重写Object的equals 方法来转化为内容比较。
作者:
huaming
时间:
2016-9-26 22:18
equals只能比较 引用数据类型
== 基本数据类型 引用数据类型都可以比较
作者:
wxr950515
时间:
2016-9-26 22:19
都返回的是布尔类型......
作者:
wxr950515
时间:
2016-9-26 22:20
都返回的是布尔值
作者:
bahamut322
时间:
2016-9-26 22:22
==是运算符,equals是方法
作者:
Da_xigua
时间:
2016-9-26 22:30
==比较值,equals比较地址值,也可以比较字符串内容是否相同
作者:
gcno93
时间:
2016-9-26 22:42
==是运算符,可以比较基本数据类型,也可以比较引用数据类型,比较基本数据类型时比较的是值,比较引用类型时比较的是内存地址,equals是object类的方法,只能比较引用类型,默认比较的是引用类型的内存地址,但是通常我们都会重写这个方法,用它来按照我们定好的规则来比较.例子:String类就重写了该方法,让他按比较字符串的内容来比较!
作者:
暮雨微凉
时间:
2016-9-26 22:46
共同点: 都可以做比较,返回值都是boolean
区别 : 1、==是比较运算符,既可以比较基本数据类型,也可以比较引用数据类型,基本数据类型比较的是值,引用数据类型比较的是地址值。
2、equals方法是一个方法,只能比较引用数据类型,所有的对象都会继承Object类中的方法,如果没有重写Object类中的equals方法 equals犯非法和==比较引用数据类型无区别,重写后的equals方法可以比较对象中的属性。
作者:
郑大仙丶
时间:
2016-9-26 22:54
==是比较运算符,比较的是值.
作者:
Fate_stay
时间:
2016-9-26 22:58
==比较的是地址值, equals比较的是内容
作者:
KiRio
时间:
2016-9-26 23:00
受教了!
作者:
markiyangliu
时间:
2016-9-26 23:11
看不看有没有重写equals方法吧?
作者:
fiendGG
时间:
2016-9-26 23:15
看到楼上大神的解答涨姿势了
作者:
xianghui0521
时间:
2016-9-26 23:18
==是一个比较运算符号,既可以比较基本数据类型,也可以比较引用数据类型,
基本数据类型比较的是值,引用数据类型比较的是地址值
equals方法是一个方法,只能比较引用数据类型,所有的对象都会继承Object类中的方法,
如果没有重写Object类中的equals方法
,equals方法和==号比较引用数据类型无区别,重写后的equals方法比较的是对象中的属性
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2