我需要特定的值存儲到一個用戶名到內存中,我在想是這樣動態命名瓦爾,這樣我就可以做這樣的事情Java的:我應該如何存儲每個用戶的事情在內存
["bubby4j_falling"] = true;
和索引它通過
["bubby4j_falling"]
但是,這只是一個例子,我知道這是行不通的,我只是想辦法快速,簡單地獲得和店裏的東西動態。
我需要特定的值存儲到一個用戶名到內存中,我在想是這樣動態命名瓦爾,這樣我就可以做這樣的事情Java的:我應該如何存儲每個用戶的事情在內存
["bubby4j_falling"] = true;
和索引它通過
["bubby4j_falling"]
但是,這只是一個例子,我知道這是行不通的,我只是想辦法快速,簡單地獲得和店裏的東西動態。
您想要使用帶有字符串鍵的映射,例如HashMap<String, something>
。
你的榜樣應該是這樣的:
Map<String, Boolean> map = new HashMap<String, Boolean>();
map.put("bubby4j_falling", true);
if(map.get("bubby4j_falling")) {
...
}
其實,在你的情況下,Set<String>
會更加有用:
Set<String> fallingUsers = new HashSet<String>();
fallingUsers.add("bubby4j");
if(fallingUsers.contains("bubby4j")) { ... }
但UF你已經有了User
對象(和你應該),你最好使用Set<User>
,或者甚至讓falling
只是用戶對象的屬性。然後,您可以使用Map<String, User>
按名稱獲取用戶對象。
@PaŭloEbermann的回答是現貨。
我只想指出Java語言沒有任何類似動態變量變量。所有Java變量名稱及其類型都在Java源代碼中聲明。即使反射也不會允許您在現有課程中即時創建新變量。
Java被設計爲一種靜態編程語言,如果以這種方式使用它,效果最好。 (理論上,如果你在源代碼或字節代碼生成技術方面混淆,你可以用新的變量動態地創建一個新的類,然而,這涉及到大量的工作,而不是一個明智的程序員考慮的東西爲了解決一個簡單的問題。此外,我懷疑這種方法實際上對你的特殊情況有幫助。)