字符串

1 string a = "abc";
2 string b = "abc";
3 a==b;//true
4 a.equals(b);//true
View Code

"abc" 存在常量池中,a,b都指向同一对象,当然他们都是一样的值

“==”判断符号左右两个变量(Object)是否指向同一内存地址;

“equals()”判断两个object是否“一样”(所有成员的值相同)

string a = new string("abc");
string b= new string("abc");
a==b;//false
a.equals(b);//true

new 出来的对象存放在heap区,a,b,指向不同的对象,所以“==" 是false。而值都是”abc“,故equals 是相等的。

posted @ 2018-04-21 11:59  好大一颗胡萝卜籽  阅读(104)  评论(0编辑  收藏  举报