读书人

java中equals()方法和==比较解决思路

发布时间: 2012-04-17 15:06:33 作者: rapoo

java中equals()方法和==比较
Object中的equals()方法默认是按地址比较,而不按内容进行比较。
这和关系运算符“==”在进行对象比较时没有区别了,但是经常说==两边
对象是按地址在比较,而equals()是按内容在比较,这是怎么回事???


像String s1="回家了";
String s2="回家了";
s1.equals(s2),返回值是true

String s1=new String("回家了")
String s2=new String("回家了")
s1.equals(s2),返回值是false
这个有该怎么解释???

[解决办法]

Java code
package cn.test;public class StringEqualsTest {    public static void main(String[] args) {        String str1 = "回家了";        String str2 = "回家了";        String str3 = new String("回家了");        String str4 = new String("回家了");                System.out.println(str1.equals(str2));        System.out.println(str3.equals(str4));    }}运行结果:truetrue 

读书人网 >J2SE开发

热点推荐