❤写在前面
❤博客主页:努力的小鳴人
❤系列专栏:面试😋
❤欢迎小伙伴们,点赞👍关注🔎收藏🍔一起学习!
❤如有错误的地方,还请小伙伴们指正!🌹
话不多说,先上硬菜:
- == 既可以比较基本类型也可以比较引用类型:对于基本类型就是比较值,对于引用类型就是比较内存地址
- equals是属于java.lang.Object类里面的方法,如果该方法没有被重写过默认也是 = = == ==;我们知道String等类的equals方法是被重写过的,具体要看自定义类里有没有重写Object的equals方法来判断,在实际应用中,我们一般用equals来比较字符串的值
一、==
作用:只用来比较两个变量的值是否相等,即用于比较变量所对应的内存中所存储的数值是否相同,如果
=
=
==
==两边的是对象,即比较的是变量存放的对象的内存地址
,判断这两个引用是否指向堆中的同一块内存,实际上是指针操作
🎁注:变量存储于栈 对象存储于堆
二、equals()
equals() 方法用于将字符串与指定的对象比较
👌Object equals()
Object equals() 方法用于比较两个对象是否相等
,是判断两个对象引用指向的是同一个对象
,即比较 2 个对象的内存地址是否相等
- 语法:object.equals(Object obj)
- 参数:obj - 要比较的对象。
- 返回值:如果两个对象相等返回 true,否则返回 false
在Object类中方法为:
public boolean equals(Object obj) {
return (this == obj);
}
👌String equals()
String equals() 方法用于比较两个字符串的内容是否相等
- 语法:public boolean equals(Object anObject)
- 参数:anObject – 与字符串进行比较的对象。
- 返回值:如果给定对象与字符串相等,则返回 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;
}
🎁总结:不积跬步,无以至千里
👌 作者算是一名Java初学者,文章如有错误,欢迎评论私信指正,一起学习~~
😊如果文章对小伙伴们来说有用的话,点赞👍关注🔎收藏🍔就是我的最大动力!
🚩不积跬步,无以至千里,书接下回,欢迎再见🌹