两个String怎样看是否相等?

antee 2001-12-01 03:09:12
为什么str1!=str2一直是真的。
...全文
67 5 点赞 打赏 收藏 举报
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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.
  • 打赏
  • 举报
回复
相关推荐
发帖
Web 开发
加入

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2001-12-01 03:09
社区公告
暂无公告