两个String怎样看是否相等?

antee 2001-12-01 03:09:12
为什么str1!=str2一直是真的。
...全文
130 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
itok000 2001-12-01
  • 打赏
  • 举报
回复
原因如下:
因为String是引用类型的,不是基本数据类型,所以它们的比较是使用地址和值(相当于C中的指针)来比较的,因为它们是不同的对象,有不同的地址,所以str1!=str2永远都是true。而str1==str2永远是false。如果你中想比较它们的数值是否相等就使用str1.equals(str2)。使用==或者!=是对象的比较,它们为真的条件是:不仅要求是同一对象,而值也要求相等。
hz129 2001-12-01
  • 打赏
  • 举报
回复
==比较的是两个string对象本身的地址是不是相等
要用str1.equals(str2)
whd11808 2001-12-01
  • 打赏
  • 举报
回复
同意楼上的。
icystone 2001-12-01
  • 打赏
  • 举报
回复
boolean str1.equals(str2)
hardas 2001-12-01
  • 打赏
  • 举报
回复
boolean equals(String Str)
Compares this string to the specified object.
boolean equalsIgnoreCase(String anotherString)
Compares this String to another String, ignoring case considerations.

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧