2010-03-27 61 views
0

我想創建一個Map對象,只有我們明確地從地圖中刪除它纔會丟失值。 我創建Map對象一樣創建靜態地圖的概念

public static Map<Long,String> listUser =new HasMap<Long,String>(); 

但每次類對象被創建地圖的新實例還創建了包含空值。我想創建一個包含我們之前存儲的值的Map實例。

+2

這是一個很難理解的問題。你應該寫一個失敗的測試來證明你想要的行爲,但不知道如何獲得。 – 2010-03-27 06:07:49

回答

0

您正在描述地圖的默認行爲,他們記住了條目。我認爲你遇到的問題是你可能只需要一個Map而不是新的實例。如果您需要第二張包含第一張圖的地圖,請查看「複製構造函數」,但您所陳述的問題並不表明這將是一個好主意。

4

static這裏指的對象是執行程序(或服務器)

如果你想將它存儲程序執行之間,你需要serialization的整個生命週期創建一次。

1

你的問題是你正在創建一個已經存在的變量的新版本。只需使用編譯器創建的那個。這裏有一個簡單的例子:

class Example{ 
    public static Map<Long,String> listUser =new HashMap<Long,String>(); 
} 

// other file 
class Main{ 
    public static int main(String args[]){ 
    // Notice how I didn't have to do Example.listUser = new HashMap<etc> here 
    Example.listUser.add(12, "Bob"); 
    Example.listUser.add(50, "George"); 
    } 
}