您的实例化语句出现错误。地图的类型是HashMap<String, CurrentAccount>
,但您正在实例化HashMap<String,String>
。
为了解决这个问题,改变你的实例化语句对应到地图的类型,如下所示:
HashMap<String, CurrentAccount> m = new HashMap<String, CurrentAccount>();
或者,如果您使用的是JDK 1.7+,你可以使用钻石符号代替(见Generic Types更多信息):
HashMap<String, CurrentAccount> m = new HashMap<>();
为项目添加到地图中,你可以使用Map#put(K, V):
m.put(accountID, ca);
为了得到一个值,你可以使用Map#get(Object):
CurrentAccount ca = m.get(accountID);
有关映射的更多信息,请参见JDK 1.7 Map documentation。
至于由OP在这个答案的意见中提出,为了访问多个方法地图(或任何其他类型)的问题,它必须被声明为类领域:
public class TestClass {
Map<String, CurrentAccount> accountMap;
public TestClass() {
accountMap = new HashMap<String, CurrentAccount>();
}
public void method1() {
// You can access the map as accountMap
}
public void method2() {
// You can also acces it here
}
}
感谢,这使得很多更有意义吧!我唯一的问题是,如果我已经在一个函数中完成了所有这些,那么是否有可能在另一个函数中从哈希映射中调用一个值? – UniqueName
您必须将哈希映射声明为类的字段。我会更新我的答案以包含一个例子。 –
非常感谢我现在已经掌握了这一切!干杯! – UniqueName