Java 中String a="abc"和String a = new string("abc")
RT,两个有何区别?Stringa="abc";Stringb="abc";a==b->true,但是Stringa=newstring("abc");Stringb=n...
RT,两个有何区别?
String a="abc";
String b="abc";
a==b->true,
但是String a = new string("abc");
String b = new string("abc");
a==b->flase;
为什么. 展开
String a="abc";
String b="abc";
a==b->true,
但是String a = new string("abc");
String b = new string("abc");
a==b->flase;
为什么. 展开
2个回答
展开全部
所以说比较两个String的时候不应该用==, 第二种情况你用a.equals(b)就是true了
在java里物体的名字相当于一个标签。当你做第一种的时候,"abc"这个物体被创造了出来,并打上了一个a的标签,然后同一个物体又被打上了b这个标签,但本质上a和b是同一个物体,所以a==b ->true.
第二种的时候,b是一个新的物体,存储的位置和a不一样,所以a==b是false
在java里物体的名字相当于一个标签。当你做第一种的时候,"abc"这个物体被创造了出来,并打上了一个a的标签,然后同一个物体又被打上了b这个标签,但本质上a和b是同一个物体,所以a==b ->true.
第二种的时候,b是一个新的物体,存储的位置和a不一样,所以a==b是false
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询