问题
说一下equals和==的区别
解析
==的用法
== 是用来判断两个变量的地址是否相同。
对于基本数据类型和引用数据类型
- 基本数据类型是存储在栈内存中,对于值相同的基本数据类型,存储位置是相同的。
- 而对于引用数据类型,在存在于堆或者方法区中,在地址不相同的返回false;
equals方法
- 首先我们调出Object类的eauals方法,这里实际知识讲对象传入返回
public boolean equals(Object obj) {
return (this == obj);
}
而在我们的实际使用中,在使用equals()方法的时候,我们可以方法进行重写,一般使用toString();的方法,直接对比两个对象的值。或者其他自己需要实现的方式。