equals与==
区别
- ==是判断两个变量或实例是不是指向同一个内存空间,equals是判断两个变量或实例所指向的内存空间的值是不是相同
- ==是指对内存地址进行比较 , equals()是对字符串的内容进行比较
- ==指的是
对象
是否相同, equals()指的是值
是否相同
示例
public class demo {
public static void main(String[] args) {
//创建两个对象
String num1 = new String("Hello");
String num2 = new String("Hello");
//b1是num1 == num2
boolean b1 = num1 == num2;
//b2是num1.equals(num2)
boolean b2 = num1.equals(num2);
System.out.println("b1 = " + b1); //b1 = false
System.out.println("b2 = " + b2); //b2 = true
//==指的是`对象`是否相同, equals()指的是`值`是否相同
}
}
使用场景
==区分的是对象
是否相同。
equals区分的是值
是否相同。