即使存在键,Java HashMap也会返回空值
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了即使存在键,Java HashMap也会返回空值,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2032字,纯文字阅读大概需要3分钟。
内容图文
![即使存在键,Java HashMap也会返回空值](/upload/InfoBanner/zyjiaocheng/723/af8d4c0375b543f0bc3afde915a44d63.jpg)
我正在开发一个项目,在该项目中我们在Map中插入键和值对.
如果密钥存在于Map中,我的代码将返回该密钥的值.
但是,即使密钥存在,HashMap也不会返回预期值.
首先,我从文件中读取键和值对,然后我读取另一个与第一个文件具有几乎相同键的文件.
然后我返回一些键的值,但对于其中许多键,值为null.
这是我的代码片段:
Scanner scanner = new Scanner(new FileReader("a.txt"));
LinkedHashMap<String, String> map = new LinkedHashMap<String, String>();
while (scanner.hasNextLine())
{
String[] columns = scanner.nextLine().split(";");
map.put(columns[0], columns[1]);
}
System.out.println(map);
for (Map.Entry<String, String> entry : map.entrySet())
{ // name is the input of second file
if (entry.getKey().equals(name))
{
num = entry.getValue();
fun(num);
}
}
我的输入文件是
ABC; 1
DEF; 2
GHI; 3
…
和名字将是
ABC
高清
解决方法:
正在比较的字符串可能包含空格,换行符,换行符.
正如我们之前所怀疑的那样,你的输入文件train.txt有人尾随空格,这导致地图查找失败.除此之外,您的Java代码还有许多冗余代码块.我把它清理干净了.这是您修改后的代码:
import java.io.*;
import java.util.*;
public class ExampleClass1 {
public static void main(String[] args) throws IOException {
Scanner scanner = new Scanner(new FileReader("trainnames.txt"));
LinkedHashMap<String, String> map = new LinkedHashMap<String, String>();
while (scanner.hasNextLine()) {
String[] columns = scanner.nextLine().split(";");
map.put(columns[0].trim(), columns[1].trim());
}
scanner.close();
System.out.println("******** map is: " + map);
File file = new File("onn.csv"); // output file
FileWriter fileWriter = new FileWriter(file);
scanner = new Scanner(new FileReader("train.txt"));
while (scanner.hasNextLine()) {
String line = scanner.nextLine().trim();
if (line.charAt(0) == '>') {
//System.out.println("==== line: [" + line + ']');
String num = map.get(line);
no(num, fileWriter);
}
}
scanner.close();
fileWriter.close();
}
public static void no(String num, FileWriter fileWriter) throws IOException {
fileWriter.append(num + ',' + System.getProperty("line.separator"));
System.out.println(num);
}
}
内容总结
以上是互联网集市为您收集整理的即使存在键,Java HashMap也会返回空值全部内容,希望文章能够帮你解决即使存在键,Java HashMap也会返回空值所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。