java - 如何将字符串类型的数组值存储到 HashMap 对象中
问题描述
当我尝试将字符串数组值存储到哈希图中时,它将显示空值。请提供任何解决方案。提前谢谢
String temp;
String[] line=new String[15];
Map<String, String> map=new HashMap<String, String>();
InputStream stream=new FileInputStream(path);
BufferedReader reader =new BufferedReader(new InputStreamReader(stream));
while((temp = reader.readLine()) != null)
{
for(int j=0; j<line.length ;j++)
{
line[j]=reader.readLine();
String fname=line[0];
String lname=line[1];
String mobile=line[2];
String gender=line[3];
//Store array string to map
map.put("fname",fname);
//retrive map object
System.out.println(map.get(fname));
System.out.println(fname);//showing null value in console
System.out.println(lname);//array shows values
System.out.println(mobile);//array shows values
}
解决方案
您试图按值获取地图值(变量 fname)
System.out.println("map.get(fname) = "+map.get(fname));
但您应该使用map.get(key)
并且您的密钥是“fname”(作为字符串)而不是 fname(作为变量)
解决方案是
System.out.println("map.get(fname) = "+map.get("fname"));
对于 FileInputStream 尝试使用 file 而不是 path :
File file = new File("C:/*****");
InputStream stream=new FileInputStream(file);
推荐阅读
- django - 保存更新的用户密码 django
- python - 如何从用户模型访问在 Django 中使用 google 登录的用户的用户名
- css - 为什么这种将 textarea 与其标签对齐的方法有效?
- go - Go 中是否有类似 Python 中的 bumps.packbits 的函数(从 int 数组中生成二进制数)?
- python - Kivy/PyMongo:使用 TextInput 中的“输入”键将输入的注释输入数据库
- javascript - 为什么 data 是异步 readFile 函数中的参数?
- go - Go 中的 process.env.VAR 替代方案
- mapping - Solidity Mapping,可以存储被批准的地址,然后那些被批准的地址是唯一可以改变代币费率的人
- python - 预期“:”皮兰斯
- python - 如何获得从顶部 discord.py 开始的命令