for (String header : headers) {
            for (int i = 0; i < dataList.get(0).size(); i++) {
                String s = dataList.get(0).get(i);
                String h = header;
                int h1 = s.hashCode();
                int h2 = h.hashCode();
                int n = s.compareTo(h);
                if (s.equals(h)) {
                    for (int k = 1; k < dataList.size(); k++) {
                        values.add(dataList.get(k).get(i));
                    }


这里for循环中的“标题”是=>包含6个String对象的String []标题。

我也尝试过使用intern方法,并将这些值存储在新的String对象中。每当equals方法返回false时。
如果有人有任何想法请分享,这将对我有很大的帮助!

Link of Screenhot for code while debugging

最佳答案

字符串h具有正确的哈希码。
s读取的字符串dataList不应产生该哈希码。
因此,请检查是否存在任何不一致之处。
打印每个字符的ascii代码。
它应该给出:78 97 109 101

10-05 22:48
查看更多