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()方法一般都是比较两个对象的值: