簡體   English   中英

如何將變量傳遞到同一包中的另一個類中

[英]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"));
}
   }
  1. 在MainClass中將hMap3聲明為Static

    public static HashMap<String,String> hMap3;

  2. 在MainClass中創建一個實例:

    hMap1=new HashMap<String, String>();

  3. 使用以下方法在另一個包類中訪問hMap3:

    MainClass.hMap3 ,或者您的情況: table.addCell(MainClass.hMap3);

  4. 確保addCell方法不是“非靜態的”:

    static public .. addCell() {}

table.addCell可能會引發錯誤,因為addCell可能不使用HashMap對象作為參數。 檢查addCell(...)方法將什么作為參數並將其傳遞。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM