![](/img/trans.png)
[英]How to pass data from a class to another class if they are in the same package
[英]how to pass a variable into another class in same package
我有一個Java類,其中有一個集合變量,我正在做一些計算並將一些值存儲到該變量中,而在同一包中的另一個類中,我想使用該變量,以便它可以在該類中打印值。 以下是集合語法:
public static HashMap<String, Double> hMap3=new HashMap<String, Double>();
現在我在這堂課中得到了一些價值
hMap3.put(ID,z);
現在我想在另一個PDF生成類中獲取此hMap3值,我正在嘗試這樣,它顯示錯誤
table.addCell(hMap3);
我假設您不是使用hMap3,而是使用hMap1。
您可以將變量作為主類中的字段添加為:
public static HashMap<String,String>hMap1=new HashMap<String, String>();
然后,您應該可以使用以下方法在另一個類中獲取它:
table.addCell(mainclass.hMap3);
這對您有意義嗎?
您需要使用HashMap的get(key)方法來獲取存儲的值。
HashMap的每個條目都是使用put(key,value)方法存儲為鍵/值對的。
您需要將Hashmap設置為類級別變量,並為其生成getter方法,然后使用存儲HashMap的類的對象在另一個類中調用getter方法。
您可以獲得價值
String value = hMap3.get(ID);
table.addCell(value);
創建如下所示的類,並從主方法中向您添加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"));
}
}
在MainClass中將hMap3聲明為Static
public static HashMap<String,String> hMap3;
在MainClass中創建一個實例:
hMap1=new HashMap<String, String>();
使用以下方法在另一個包類中訪問hMap3:
MainClass.hMap3
,或者您的情況: table.addCell(MainClass.hMap3);
確保addCell方法不是“非靜態的”:
static public .. addCell() {}
table.addCell可能會引發錯誤,因為addCell可能不使用HashMap對象作為參數。 檢查addCell(...)方法將什么作為參數並將其傳遞。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.