读书人

String 引用类型与基本门类区别

发布时间: 2012-10-10 13:58:11 作者: rapoo

String 引用类型与基本类型区别

??String a="A";
??String b="A";
??String c=new String("A");
??System.out.println(a==b);//true
??System.out.println(a==c);//false

?

??我认为String a="A"; 这种形式声明的变量在比较的时候将会隐式调用equals方法,而new出来的要自己手动去调用

? 但是我还不明白,两个对象相互比较的时候是怎么判断的
? 这个是String.equals方法:

public boolean equals(Object anObject) {if (this == anObject) {    return true;}if (anObject instanceof String) {    String anotherString = (String)anObject;    int n = count;    if (n == anotherString.count) {char v1[] = value;char v2[] = anotherString.value;int i = offset;int j = anotherString.offset;while (n-- != 0) {    if (v1[i++] != v2[j++])return false;}return true;    }}return false;    }

?

读书人网 >编程

热点推荐