A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

©   /  2015-4-9 10:50  /  2231 人查看  /  39 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

输出值是false啦,换做equals就true啦
解释一下==号,他比较的是一个对象在内存中的地址值,
2个字符串对象
String s1 = new String("str");
String s2 = new String("str");
如果用==号比较,会返回false,因为创建了两个对象,他们在内存中地址的位置是不一样的。

equals的情况比较复杂,它是java.lang.Object类中的一个方法。因为java中所有的类都默认继承于Object,所以所有的类都有这个方法。

在Object类源码中是这样写的。
public boolean equals(Object obj) {
return (this == obj);
}
回复 使用道具 举报 1 0
您需要登录后才可以回帖 登录 | 加入黑马