两个String怎样看是否相等?

antee 2001-12-01 03:09:12
为什么str1!=str2一直是真的。
...全文
64 点赞 收藏 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 开发
创建于2007-09-28

8.0w+

社区成员

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