equals和==是两个很容易混淆也是很多初学者容易搞不清的比较(方法)。
- equals 方法(是String类从它的超类Object中继承的)被用来检测两个对象是否相等,即两个对象的内容是否相等。
- ==用于比较引用和比较基本数据类型时具有不同的功能:
比较基本数据类型,如果两个值相同,则结果为true
而在比较引用时,如果引用指向内存中的同一对象,结果为true
下面举个例子,大家就一目了然了
比如
Integer int1=new Integer(1);
Integer int2=new Integer(1);
String str1=new String("hello");
String str2=new String("hello");
int1==int2 输出:false,因为两者指向不同的对象
int1.equals(int2) 输出:TRUE ,两个对象内容相同
同理:
str1==str2 (false)
str1.equals(str2) (true)