1、== 和equals()都可用于比较两个操作数是否相等,有什么区别?
(1) == : 首先是一个关系运算符,简单的就是判断两个变量的值是否相等,进一层就是两个引用变量的引用地址是否相等,(这个大家初学可能比较混乱);
(2)equals() : Object类中定义的一个方法,很多引用类型都默认继承Object,它用于判断引用变量引用地址指向的存储内容是否相等。
实例代码如下:
int m = 1;
int n = 1;
System.out.println(n==m);
String a = "abc";
String b = "abc";
System.out.println(a==b);
String c = new String("abc");
String d = new String("abc");
System.out.println(c==d);
System.out.println(a.equals(b));
System.out.println(c.equals(d));
结果:
true
true
false
true
true