2014-10-21 61 views
0

就像這個問題的前兆一樣,我是Java的中等新手,所以請耐心等待。如何將字符串轉換爲對象引用?

我現在正在嘗試創建一個帳戶系統,似乎自動化帳戶ID過程比以前想象的更加困難。我希望能夠爲每個單獨的對象引用定製的用戶ID,所以很容易獲取,計算有多少用戶存在,編輯值對象等

我基本上要:

int accountsMade = 1;

userAccount(A1)= new userAccount(other Input);

然後用戶登記的帳戶接下來的時間,該對象的引用將是:

userAccount(A2)=新userAccount(不同的輸入);

有什麼辦法可以自動化這個系統嗎?似乎有,但我無法弄清楚。

+0

我不確定,但我想你正在尋找一個「Map」,比如'HashMap'類。這允許您創建一個對象,然後使用關聯的名稱值將該對象的引用存儲在Map中。稍後,可以返回並使用該名稱在Map中查找對象。 – 2014-10-29 00:49:42

回答

0

你想要做的是創建並保持對HashMap對象的引用。這些是鍵值對,其中提供密鑰(在這種情況下是用戶提供的用戶ID)允許您以非常快速有效的方式獲取值(在本例中爲用戶帳戶對象)。

您想要使用的HashMap的實際簽名將是Map。

以下是有關HashMap的最新文檔:http://docs.oracle.com/javase/7/docs/api/java/util/HashMap.html

但是,我認爲您現在正在構建的設計存在一個相當重要的問題,那就是您每次輸入時都要構造一個新的userAccount對象。一個帳戶的概念表明某種連續性 - 保存的數據,密碼等。對嗎? GMail並不會在每次登錄時爲您創建一個新帳戶。

因此,您將需要某處以某種方式保留該數據。你可以使用外部數據庫,比如SQL,或者,如果你100%確定你的用例和用戶基數永遠不會改變,你可以將帳戶對象硬編碼到你的原型中,並檢查用戶登錄對密鑰的嘗試在HashMap中。無論哪種方式,我不確定它會用於您的目的是在用戶登錄時構造一個userAccount對象。