中易网

Java 中String a="abc"和String a = new string("abc")

答案:2  悬赏:10  
解决时间 2021-01-16 23:28
  • 提问者网友:送舟行
  • 2021-01-16 04:53
Java 中String a="abc"和String a = new string("abc")
最佳答案
  • 二级知识专家网友:七十二街
  • 2021-01-16 05:46
new String("abc")这种是new了一个Object,abc是被储存在其内部的值,“=”把指针赋给a,b,但是a,b指向的是不同的对象,所以返回值是false


大概是这种关系:

即a b指向不同的对象

全部回答
  • 1楼网友:一把行者刀
  • 2021-01-16 06:26
所以说比较两个String的时候不应该用==, 第二种情况你用a.equals(b)就是true了
在java里物体的名字相当于一个标签。当你做第一种的时候,"abc"这个物体被创造了出来,并打上了一个a的标签,然后同一个物体又被打上了b这个标签,但本质上a和b是同一个物体,所以a==b ->true.
第二种的时候,b是一个新的物体,存储的位置和a不一样,所以a==b是false
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息