gpt4 book ai didi

java - 我有两个具有相同内容但具有不同哈希码的字符串,因此 .equals 方法返回 false。请建议如何解决这个问题

转载 作者:行者123 更新时间:2023-11-30 01:58:18 24 4
gpt4 key购买 nike

  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 循环中的“headers”是 => String[] headers,包含 6 个 String 对象。

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

enter image description here Link of Screenhot for code while debugging

最佳答案

字符串h具有正确的哈希码。
dataList 读取的字符串 s 不应生成该哈希码。
所以检查一下是否有任何不一致的地方。
打印每个字符的 ascii 代码。
它应该给出:78 97 109 101

关于java - 我有两个具有相同内容但具有不同哈希码的字符串,因此 .equals 方法返回 false。请建议如何解决这个问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53685588/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com