问题叙述
今天写java作业的时候遇到了一个灵异事件,没错,就是灵异事件,明明两个字符串(中文)是完全一样的,在控制台输出也是一样的,可调用equals方法就是返回false
不过值得一提的是,两个字符串是从两个不同的文件读出来的,但是字符串编码都一样,都是“utf-8”,
那么问题到底在哪呢?
问题原因
后来分析,问题原因可能是其中一个文件的字符串是那个文件的第一行,另一个字符串是中间的一行,那个第一行字符串因为位于文件首部,所以第一个字符可能带有“不干净的东西”
问题解决
在文件首部随便添加一个字符占位,然后在读文件的时候再把占位字符去掉,竟然奇迹般的可以了