我有一个Java类,其中我有一个集合变量,我正在进行一些计算并将一些值存储到该变量中,并且在同一个包中的另一个类中我想使用该变量,以便它可以在该类中打印该值。以下是集合语法:
public static HashMap<String, Double> hMap3=new HashMap<String, Double>();
现在我在这个类中得到了一些像这样的值
hMap3.put(ID,z);
现在我想在另一个PDF生成类中获取此hMap3值我正在尝试这样并且显示错误
table.addCell(hMap3);
答案 0 :(得分:0)
我假设您没有使用hMap3而是使用hMap1。
您可以将变量添加为主类中的字段:
public static HashMap<String,String>hMap1=new HashMap<String, String>();
然后你应该能够使用:
在另一个类中获取它table.addCell(mainclass.hMap3);
这对你有意义吗?
答案 1 :(得分:0)
您需要使用HashMap的get(key)方法来获取存储的值。
每个条目都使用put(key,value)方法将HashMap存储为键/值对。
您需要将Hashmap作为类级变量并为其生成getter方法,然后使用存储HashMap的类的对象在另一个类中调用getter方法。
你可以获得价值
String value = hMap3.get(ID);
table.addCell(value);
创建如下所示的类,并从main方法
向您添加地图条目Hashmap public class A {
HashMap<String, String> map = new HashMap<String, String>();
public void populateMap(String ID, String z) {
map.put(ID, z);
}
public HashMap<String, String> getMap() {
return map;
}
public static void main(String[] args) {
A a = new A();
a.populateMap("1234", "New Object Stored");
}
}
然后在同一个包中创建另一个类,如下所示
class B {
public static void main(String[] args) {
A a = new A();
HashMap<String, String > map = a.getMap();
table.add(map.get("1234"));
}
}
答案 2 :(得分:0)
在MainClass中将hMap3声明为静态
public static HashMap<String,String> hMap3;
在MainClass中创建一个实例:
hMap1=new HashMap<String, String>();
使用以下方法访问另一个包类中的hMap3:
MainClass.hMap3
,或者您的情况:table.addCell(MainClass.hMap3);
确保addCell方法不是&#34;非静态&#34;:
static public .. addCell() {}
答案 3 :(得分:0)
table.addCell可能会抛出错误,因为addCell可能不会将HashMap对象作为参数。检查addCell(...)方法作为参数采用什么并传递它。