一、前言
看到==、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