中易网

简单!java字符串相比较

答案:2  悬赏:50  
解决时间 2021-11-25 04:55
如果是两个字符串变量,相比较是否相等怎么办?
if=(a.equals(b)?)
能不能if(a=b)

如果我不同过new建立对象,一般的string变量a、b相比较,比较的也是地址么?
最佳答案
if (a.equals(b))

一般不用if(a==b)这种方式,因为这种方式比较的是两个字符串在内存中的地址是否相同,而不是比较两个字符串的内容是否相同。equals方法比较两个字符串的内容,它不关心这两个字符串到底存放在内存中的什么地方。但如果a和b实际上是内存中同一个地方的字符串,那么它们肯定是地址相同且内容也相同的。所以用equals肯定没有问题。

补充:是的,对字符串来说,==永远比较的是地址。只是有时候,两个字符串同时使用字符串池中的同一个字符串,这时候它们的地址是相等的。除此之外,==得到的结果永远是false
全部回答
在java中存在一个字符串池的概念,也就是说如果你声明的几个字符串对象的内容是一样的,那么他们只占用同一块内存区域,这里你声明的a、b字符串的内容都是abc,所以在堆内存中只开辟了一块区域用于存储字符串"abc",a、b引用都指向这块内存,所以这里"abc"和b是相等的
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
巴彦库仁镇派出所地址在什么地方,想过去办事
雅尔塔的意思是什么啊?请解释下!
上面两个山字下面一个日和子字
额尔古纳市公安第一派出所办公地址在什么地方
中国广西的虎纹捕鸟蛛(地老虎)它视力很差,
汽车喷漆工作经验怎么写?
功放音箱功率怎么搭配最合理?
您了解汉得?我想请教:如果目前在央企工作,一
冒处的意思是什么啊?请解释下!
梦见1、2、8、9、14、32、12是什么意思
浩饶山派出所办公地址在什么地方,我要处理点
冒蓝烟不一定是烧机油
男朋友什么事都听我的就这事不听我的他说明年
大学派出所地址在什么地方,想过去办事
adsoundrecorder怎么录制cd
推荐资讯
╮(╯▽╰)╭喜欢老师怎么办啊?
辽阳市环境保护局白塔分局地址在什么地方,想
云南的茉莉大青叶属于什么茶
比丘尼的意思是什么啊?请解释下!
云付通里面的实名认证有安全威胁吗?
南京市交管局机动大队地址在什么地方,想过去
在游泳池周围做什么可以赚钱的呢?
女徒的意思是什么啊?请解释下!
志愿的意思是什么啊?请解释下!
我想印刷一张1.5m*0.5m的海报要多大的图片合
新超越极限人口怎么兑换属性
拜什吐格曼派出所地址有知道的么?有点事想过
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?