黑马程序员技术交流社区

标题: 怎么理解equals、==、contains,他们之间有什么区别 [打印本页]

作者: 时间都去哪了    时间: 2014-11-12 22:43
标题: 怎么理解equals、==、contains,他们之间有什么区别
表示被这三个搞晕了,什么时候该使用哪一个,具体有什么区别呢,看了视频还不是很理解
作者: 王世虎    时间: 2014-11-13 12:11
在String类中,==比较的是引用地址
equals 比较的是引用内容
contains 判断字符串中是否包含某一个子串
作者: 爱学习的小明    时间: 2014-11-13 12:20
先说==,这个是比较运算符,用于判断等式两遍的值是否相等,判断对象是否相等时,比较的是对象的地址值。
equals,是obj类中的比较方法,比较两个对象是否相同,判断相同的依据是地址值是否相同,与==是一样的。但equals方法可以复写成你想要的其它的判断相同的依据。
contains底层调用的是equals方法,如果有相同的,说明其包含,如果与所有的元素比较后没有相同元素,则判断不包含。
作者: 327753899    时间: 2014-11-13 14:22
equals是比较两个内容是否相同。==是运算符,是把一个值赋值给一个未知数,或是相等的。contains是包含的意思,一个内容包含另一个内容
作者: 时间都去哪了    时间: 2014-11-13 15:32
有些明白了,谢谢楼上同学们的回答:)
作者: z124055429y    时间: 2014-11-13 21:35
不愧是爱学习的小明,完美的解决了我困惑多年的问题
作者: 爱学习的小明    时间: 2014-11-14 10:33
z124055429y 发表于 2014-11-13 21:35
不愧是爱学习的小明,完美的解决了我困惑多年的问题

呵呵,我也是初学者,共同进步!
作者: zhangyangLengen    时间: 2014-11-14 11:41
equals方法,底层直接是比较的地址值,如果自己定义的类,或者已经开发好的类复写equals方法,那么有具体的比较方法。不一定是比较的是地址值,也许比较的是元素的内容




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2