java如何将变量传递到同一个包中的另一个类中
我有一个Java类,其中有一个集合变量,我正在进行一些计算,并将一些值存储到该变量中。在同一个包中的另一个类中,我希望使用该变量,以便它可以打印该类中的值。以下是集合语法:
public static HashMap<String, Double> hMap3=new HashMap<String, Double>();
现在我在这门课上得到了一些价值
hMap3.put(ID,z);
现在我想在另一个PDF生成类中获取这个hMap3值,我正在这样尝试,它显示了一个错误
table.addCell(hMap3);
# 1 楼答案
在MainClass中将hMap3声明为静态
public static HashMap<String,String> hMap3;
在MainClass中创建实例:
hMap1=new HashMap<String, String>();
使用以下命令访问另一个包类中的hMap3:
MainClass.hMap3
,或者在您的情况下:table.addCell(MainClass.hMap3);
确保addCell方法不是“非静态”:
static public .. addCell() {}
# 2 楼答案
桌子。addCell可能正在引发错误,因为addCell可能不将HashMap对象作为参数。检查addCell(…)的作用方法接受作为参数并传递该参数
# 3 楼答案
您需要使用HashMap的get(key)方法来获取存储的值
每个条目都是HashMap,它使用put(key,value)方法存储为一个键/值对
您需要将Hashmap作为类级变量,并为其生成getter方法,然后使用存储Hashmap的类的对象在另一个类中调用getter方法
您可以通过以下方式获得价值:
创建一个如下所示的类,并从main方法向Hashmap中添加映射项
然后在同一个包中创建另一个类,如下所示
# 4 楼答案
我想您使用的不是hMap3而是hMap1
您可以将变量作为字段添加到主类中,如下所示:
然后,您应该能够使用以下命令在另一个类中获取此信息:
这对你有意义吗