java:String使用equals和==比较的区别

equals的作用:

用于判断两个变量是否是对同一个对象的引用,即堆中的内容是否相同,返回值为布尔类型

 "=="操作符的作用

1、用于基本数据类型的比较

2、判断引用是否指向堆内存的同一块地址。

 

例子一:对象不同,内容相同,"=="返回false,equals返回true

 

例子二:同一对象,"=="和equals结果相同

 

 例子三:

String作为一个基本类型来使用

如果值不相同,对象就不相同,所以"==" 和equals结果一样

 

 例子四:

 非String类,例如StringBuffer类 没有重写equals方法,所以不比较内容。==和equals都是比较的内存地址

StringBuffer stringBuffer = new StringBuffer("aaa");
StringBuffer stringBuffer2 = new StringBuffer("aaa");
System.out.println(stringBuffer == stringBuffer2); // false
System.out.println(stringBuffer.equals(stringBuffer2)); // false

posted @ 2021-02-04 16:53  onlys1988  阅读(25)  评论(0)    收藏  举报