社区
Java
帖子详情
为什么返回false
lixiangyang1981
2003-10-20 09:21:34
StringBuffer sb1 = new StringBuffer("abc");
StringBuffer sb2 = new StringBuffer("abc");
System.out.println(sb1.equals(sb2));
...全文
83
7
打赏
收藏
为什么返回false
StringBuffer sb1 = new StringBuffer("abc"); StringBuffer sb2 = new StringBuffer("abc"); System.out.println(sb1.equals(sb2));
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dreamhead
2003-10-27
打赏
举报
回复
我不觉得RomaticStone(Stone is singing)说的是个好办法,看一下,StringBuffer中toString的实现。
实际上它是构造了一个String对象,虽然Java是自动进行垃圾搜集,经常构造一个没有什么用的小对象也不是好的行为吧!
最根本的在于,StringBuffer的作用并不是为了比较而存在的,它只是一个BUFFER。
dreamhead
2003-10-26
打赏
举报
回复
dulang200x(独狼)的说法是正确的,可以查一下JDK中提供source,StringBuffer里面确实没有equals方法,如果调用equals方法,那么它就会调用Object中提供的equals方法,查一下Object的源码,可以看到:
public boolean equals(Object obj) {
return (this == obj);
}
也就是等同于==,实际上比较的是两个引用,相当于在C里面比较两个指针的地址。
所以,二者的结果是不同的。
RomaticStone
2003-10-26
打赏
举报
回复
the reason why StringBuffer doest not implement equals is it is a operational BUFFER which may dynamically allocate memory for storage.
RomaticStone
2003-10-26
打赏
举报
回复
normally, for StringBuffer, use the following
sb1.toString().equals(sb2.toString())
dulang200x
2003-10-22
打赏
举报
回复
楼上的说的不对
应该是
因为StringBuffer 没覆盖equals(),所以这里equals()跟==没什么区别,所以会返回false!
jhzhou882
2003-10-22
打赏
举报
回复
幸福鸟说的对
xingfuniao
2003-10-20
打赏
举报
回复
这是两个不同的对象,所以不同。
StringBuffer sb1 = new StringBuffer("abc");
StringBuffer sb2 = sb1;
System.out.println(sb1.equals(sb2));
这样就相同。
String.contains方法总是
返回
false
String类型有一个方法:contains(),该方法是判断字符串中是否有子字符串。如果有则
返回
true,如果没有则
返回
false
。 List<String> ids =dao.find(); 上面的结过会
返回
List集合,存放的是String类型,也有数据
返回
[33,22,66],没报错。但执行ids .contains(“33”)这个语句老是
返回
false
。 最后发现,id在实体中是Integer类型,修改如下: List<Integer> ids =dao.find()
Java为什么两个值相等的对象==比较
返回
false
而两个值相等的不同类型的的基本数据类型
返回
true
Java为什么两个值相等的对象==比较
返回
false
而两个值相等的不同类型的的基本数据类型
返回
true
为什么PreparedStatement execute执行插入成功却
返回
false
使用PreparedStatement的execute方法执行sql插入语句,执行成功,但是
返回
结果却为
false
。 boolean execute() throws SQLException在此 PreparedStatement 对象中执行 SQL 语句,该语句可以是任何种类的 SQL 语句。一些特别处理过的语句
返回
多个结果,execute 方法处理这些复杂的语句;executeQ
Python使用jsonpath
返回
False
问题
做爬虫经常会遇见代理ip的API接口请求
返回
ip进行处理,然后解决封IP问题。一直以来我都是直接使用Python中的json模块转字典进行处理。 那天突然心血来潮,想起jsonpath语法好久没用过了,已经忘的差不多了,想着处理代理ip的时候顺手复习一下jsonpath模块的基础使用,然后就遇见了这个问题。 出现
False
的情况有两种: 1.传入的不是dict对象(我犯的就是这个错误,我直接把
返回
...
JS中'true'==true为什么
返回
false
相等操作符在转换不同的数据类型时,相等和不相等操作符遵循下列基本规则: 如果有一个操作数是布尔值,则在比较相等性之前先将其转换为数值——
false
转换为0,而true转换为1; 如果一个操作数是字符串,另一个操作数是数值,在比较相等性之前先将字符串转换为数值; 如果一个操作数是对象,另一个操作数不是,则调用对象的valueOf()方法,用得到的基本类型值按照前面的规则进行比较;首先 ‘true...
Java
50,547
社区成员
85,621
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章