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
浙公网安备 33010602011771号