简单!java字符串相比较

来源:百度知道 编辑:UC知道 时间:2024/07/01 04:10:10
如果是两个字符串变量,相比较是否相等怎么办?
if=(a.equals(b)?)
能不能if(a=b)
如果我不同过new建立对象,一般的string变量a、b相比较,比较的也是地址么?

if (a.equals(b))

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

补充:是的,对字符串来说,==永远比较的是地址。只是有时候,两个字符串同时使用字符串池中的同一个字符串,这时候它们的地址是相等的。除此之外,==得到的结果永远是false

不可以。