您好,欢迎来到暴趣科技网。
搜索
您的当前位置:首页== 和 equals 的区别

== 和 equals 的区别

来源:暴趣科技网

使用 == 比较

 

使用 equals 比较

equals方法是Object类的一个方法,Java当中所有的类都是继承于Object这个超类。
JDK1.8 Object类equals方法源码如下,即返回结果取决于两个对象的使用==判断结果。

public boolean equals(Object obj) {
    return (this == obj);
}

在实际使用中,一般会重写定义的class的equals方法,如JDK1.8 java.lang.String类的equals源码如下。
即两个字符串使用 == 相等  或者  两个字符串的所有组成字符都相等返回true,其他情况返回false。这里就定义String根据equals方法判断是否相等的逻辑。

public boolean equals(Object anObject) {
	if (this == anObject) {
		return true;
	}
	if (anObject instanceof String) {
		String anotherString = (String) anObject;
		int n = value.length;
		if (n == anotherString.value.length) {
			char v1[] = value;
			char v2[] = anotherString.value;
			int i = 0;
			while (n-- != 0) {
				if (v1[i] != v2[i])
						return false;
				i++;
			}
			return true;
		}
	}
	return false;
}

 

总结:

 

PS:可以延伸自己写代码比较一个基本类型的包装类对象使用 == 和 equals进行比较的结果


进一步详细文章还可以参考:


 


【Java面试题与答案】整理推荐

 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- baoquwan.com 版权所有 湘ICP备2024080961号-7

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务