Java中==号与equals()方法的区别

时间:2022-09-30 17:12:56
String str1 = new String("abc");
String str2 = new String("abc");
System.out.println(s1.equals(s2));
System.out.println(s1 == s2);

根据上面所讲,第一个是true,第二个是false

String s1 = "abc";
String s2 = "abc";
System.out.println(s1.equals(s2));
System.out.println(s1 == s2);

这次的结果和上一个的是一样的吗?答案是:true true

==号在比较基本数据类型时比较的是值,而用==号比较两个对象时比较的是两个对象的地址值:

Java提供的所有类中,绝大多数类都重写了equals()方法,重写后的equals()方法一般都是比较两个对象的值: