概述
概述
这几天,被几道java基础练习题中的==和equals给绕晕了,所以打算把关于这块的内容好好总结下,争取下次再遇到类似的题目,自己不会再出错,恩,就是这样。
简单了解
在Object类中,equals方法的定义是这样的,
public boolean equals(Object obj)
{
return (this == obj);
}
这块就有点懵了,这不还是用==来进行比较的吗?再往下搜了才知道,在大部分的封装类中,都重写了Object类的这个方法,所以两者还是会有区别的。总的来说,==是一个关系运算符,如果比较的两端都为基本类型,则判断两者的值是否相等,(判断过程中还有不同基本类型的转化,这里不做讨论),如果比较的两端都为引用类型的话,则比较两者所指向对象的地址是否相同;对于equals方法,首先,能调用这个方法肯定是一个对象,然后,如果这个对象所在的类重写了equals方法,则按照重写的方法进行比较,如果没有,则比较两者所指向对象的地址是否相同。
自己动手
了解了上面那么多内容之后,然后自己就写了一个小小的测试程序,打算验证下,代码如下:
1.public class Test{
2. publi
最后
以上就是受伤大侠为你收集整理的判断相等用equals还是==概述简单了解自己动手总结的全部内容,希望文章能够帮你解决判断相等用equals还是==概述简单了解自己动手总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复