当前位置:编程学习 > JAVA >>

求教 关于字符串 equals 问题

2个字符串System.out打印出来的都是一样的, equals 时候是false,结果看了一下 变量值内存中的value,是不一样,这是咋回事,得怎么处理?

代码截图:


内存中 变量的值:


--------------------编程问答-------------------- daContent的取法导致的吧 --------------------编程问答-------------------- 你没看到连长度都不一样么  你不觉得你的daStr前面多了点什么么 --------------------编程问答--------------------
引用 2 楼 xiuxiu2by 的回复:
你没看到连长度都不一样么  你不觉得你的daStr前面多了点什么么


我知道,就是想知道什么原因会导致的。 --------------------编程问答-------------------- 有不可见字符 --------------------编程问答-------------------- 数组一旦创建长度是不可变的,比如你定义长度10但是你只用了前3个长度1,那么剩下的没有值,但还是在数组长度内,循环还是会继续到数组初始长度 --------------------编程问答-------------------- daStr你是怎么定义的? --------------------编程问答--------------------
引用 5 楼 Yuan_Rong_Hua 的回复:
数组一旦创建长度是不可变的,比如你定义长度10但是你只用了前3个长度1,那么剩下的没有值,但还是在数组长度内,循环还是会继续到数组初始长度

应该是这个原因 --------------------编程问答-------------------- 楼主的代码写法很诡异啊
if(daStr.equals(daContent)==true)
--------------------编程问答-------------------- 问题终于解决了,daStr变量值是从文本文件中读取的,

而这个文本文件字符编码可能有问题,我重新新建了一个文件,字符读取就正确了。

非常感谢大家的回答。
补充:Java ,  Java相关
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,