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

posted on 2018-03-09 11:30  Yusco  阅读(1408)  评论(0编辑  收藏  举报