gpt4 book ai didi

Java hashmap 找不到现有条目

转载 作者:行者123 更新时间:2023-12-02 04:28:47 27 4
gpt4 key购买 nike

我遇到了一个非常奇怪的问题:我编写了一个 CSV 解析器,它将第一行读取为标题,然后创建一个映射,其中键是标题,值是后续行中的值。

问题是 map 似乎无法检索第一列标题的值。正如这里所见: enter image description here

如您所见,“abc”位于 HashMap 条目 #23 内,但当我检索它时,它会显示为 null。

我认为这与我的 CSV 文件有关,但为什么映射条目在调试器上正确显示但无法检索?

我的 CSV 文件如下所示:

abc,Data Source,Entity,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24 NA,source1,entity1,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124

最佳答案

对于您观察到的调试器结果,唯一合理的解释是第一个列标题实际上不是 "abc" 。它可能包含一个或多个附加的非打印字符。当然,这些不会打印在调试器的映射内容列表中,但它们仍然在那里,所以确实是键 "abc" map 上不存在。它实际上类似于 "<some_non-printing_character>abc" 。或者,您可能有不同的字符,但在显示器上呈现相同的效果。无论哪种方式,请使用十六进制编辑器检查输入文件以查看真相。

所涉及的列是第一列,额外字符的可能候选者是 Unicode BOM、U+FEFF,显示为文件的第一个字符。一些文本编辑器会插入这样一个字符作为魔数(Magic Number),将文件标记为以 UTF-8 编码,但实际上 UTF-8 并不要求这样做,并且除了其本身之外,不为这样的字符分配任何意义。

关于Java hashmap 找不到现有条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54015334/

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