2013-02-24 58 views
0

Java的新手,試圖編寫一個基本的流量模擬,其中有一個交集類和一個SimEngine(事件列表)類。調用另一個類的方法,傳遞對象名作爲參數

我的交叉點類有一個名爲Arrival()的方法,表示汽車已經到達交叉點。作爲該方法的一部分,我想使用SimEngine中的schedule()方法,在3秒後的時間戳安排該車的出發時間。 schedule()方法有四個參數:(我們正在計劃什麼,車輛ID,交叉點id,時間戳)。我的問題是關於通過交叉點id(這個模擬有多個交點)。如果我不知道交集對象的引用變量的名稱,我怎樣才能將它傳遞給另一個函數?

+0

如果你想要引用你沒有的設計,可能會重新考慮你的設計? – 11684 2013-02-24 21:05:04

回答

1

您需要首先識別系統中的車輛 - 常見的選擇,特別是在數據庫驅動的應用程序中,使用整數值。因此,爲每輛車添加一個唯一標識符,然後根據您預測的實例數,將其作爲IntegerLong加以引用。

如果您只將數據保存在內存中,則可以從Map<Integer,Vehicle>存儲和檢索車輛。在這裏對線程安全採取額外的預防措施,ConcurrentHashMap是一個不錯的選擇。