为何代码中字符串比较始终返回false?已解决:因数组大小变更
关于字符串比较
equals()始终返回false的问题解决 太好了,看到你已经解决这个问题啦!之前你碰到的if(s.equals(b))一直返回false的情况,居然是数组大小的问题导致的,这确实是个容易踩的小坑。
很多时候我们遇到字符串比较不相等,第一反应都是检查是不是用了==而不是equals(),但这次的情况给我们提了个醒:还要关注字符串的存储载体——比如数组的尺寸是否匹配需求:
- 如果数组长度不够,字符串可能会被截断,实际存储的内容和你预期的完整字符串不一致,自然
equals()比对失败 - 要是数组过大,也可能在字符串末尾混入额外的空字符或空白,同样会让两个看起来一样的字符串比对不相等
调整数组大小后,字符串能被完整、正确地存储,equals()自然就能正常判断相等了。
内容的提问来源于stack exchange,提问作者Pranjal sharma
相关产品推荐
相关产品推荐

