我在一个类内创建了一个嵌套的HashMap,如下所示。这里的问题是当我为不同的CPID调用函数XOXO时Profile1,Profile2,然后HashMap仅存储最后一个配置文件值,即Profile2。
但是很明显,每次将CPID(Profile1,Profile2)都存储在内部HashMap PV到外部HashMap CP中用于不同的密钥
public class abc
{
public static HashMap <String, HashMap<String,String> > CP= new HashMap<>();
HashMap<String, String> PV= null;
public void XOXO(CPID)
{
PV=new HashMap<>();
String Value1 = Function.getText(5,5);
String Value2 = Function.getText(6,6);
//Note value at coordinate (5,5)/(6,6) is changing for diff CPID
PV.put("AB", Value1);
PV.put("CD", Value2);
CP.put(CPID,PV);
}
}
输出:
{Profile1, {AB= 123, CD = 456}
{Profile2, {AB= 123, CD = 456}
预期输出:
{Profile1, {AB= 999, CD = 888}
{Profile2, {AB= 123, CD = 456}
首先,在顶部有这个:
public Class ABC
但是,class
是小写字母。所以它应该看起来像这样:
public class ABC
另外,在这里:
PV.put("AB", "Value1")
PV.put("CD", "Value2")
您正在输入Value1
和Value2
作为String
,而不是作为变量,并且您忘记了分号。所以应该是这样:
PV.put("AB", Value1);
PV.put("CD", Value2);