Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java HashMap值未更改_Java_Swing_Hashmap_Event Handling - Fatal编程技术网

Java HashMap值未更改

Java HashMap值未更改,java,swing,hashmap,event-handling,Java,Swing,Hashmap,Event Handling,我想输入HashMap中存储的项目的名称/id,并相应地编辑其值 import java.util.HashMap; 导入java.util.Map; 公共类项目{ 字符串名; int-id; 整数; 浮动价格; 公共静态映射项=new HashMap(); 项目(字符串名称、整数id、整数数量、浮动价格){ this.name=名称; 这个.id=id; 这个。数量=数量; 这个价格=价格; items.putIfAbsent(this.id,this); } } 以下代码行来自action

我想输入HashMap中存储的项目的名称/id,并相应地编辑其值

import java.util.HashMap;
导入java.util.Map;
公共类项目{
字符串名;
int-id;
整数;
浮动价格;
公共静态映射项=new HashMap();
项目(字符串名称、整数id、整数数量、浮动价格){
this.name=名称;
这个.id=id;
这个。数量=数量;
这个价格=价格;
items.putIfAbsent(this.id,this);
}
}
以下代码行来自actionPerformed(ActionEvent e)中的ActionListener类

if(comboBox.getSelectedIndex()==1&&(nameRadioButton.isSelected())| | idRadioButton.isSelected())
{
对于(整数i:Items.Items.keySet())
{
if(inputText.getText().equalsIgnoreCase(Items.Items.get(i.name))//inputText是第一个JTextField
{
Items.Items.get(i).name=inputText.getText();//可能的错误
}
}
}

Items.Items.get(i).name=inputText.getText()-这行很奇怪:您选择与输入文本具有相同值(忽略大小写)的散列项,然后将该值更改为输入文本的值。如果哈希值已经等于输入文本值,那么更改哈希值有什么意义?@mangusta*facepalm。它应该是=newInputText.getText()。问题已解决,谢谢。
Items.Items.get(i).name=inputText.getText()-这行很奇怪:您选择与输入文本具有相同值(忽略大小写)的散列项,然后将该值更改为输入文本的值。如果哈希值已经等于输入文本值,那么更改哈希值有什么意义?@mangusta*facepalm。它应该是=newInputText.getText()。问题解决了,谢谢。