一、前言
看到==、equals()就认为比较简单,随便看了一眼就过了,其实你并没有深入去了解二者的区别。这个问题在面试的时候出现的频率比较高,而且据统计有85%的人理直气壮的答错。所以理解==与equals()的区别很有必要。
二、==运算符
==可以使用在基本数据类型变量和引用数据类型变量中。
1、基本数据类型:比较两个变量是否相等(不比较数据类型,只看值,因为会类型自动提升)
2、引用数据类型:比较两个对象的地址值是否相等。
public class Test {
public static void main(String[] args) {
int a=10;
int b=10;
double c=10.00;
System.out.println(a==b);//true
System.out.println(a==c);//true
String str1="123";
String str2="123";
System.out.println(str1==str2);//true
String str3=new String("123");
String str4=new String("123");
System.out.println(str3==str4);//false
}
}
对于8种基本数据类型(byte,short,int,long,float,double

本文探讨Java中的==运算符与equals()方法的区别。==用于比较基本类型变量的值或引用类型变量的地址,而equals()方法在默认情况下相当于==,但在String等类中被重写以比较对象内容。遵循自反性、对称性、传递性和一致性原则,equals()用于确保对象内容相等。理解两者差异对于避免面试中常见错误至关重要。
最低0.47元/天 解锁文章
613

被折叠的 条评论
为什么被折叠?



