0

Java 新手,尝试编写一个基本的交通模拟,其中我有一个 Intersection 类和一个 SimEngine(事件列表)类。

我的 Intersection 类有一个名为 Arrival() 的方法,指示汽车已到达十字路口。作为该方法的一部分,我想使用 SimEngine 中的 schedule() 方法在 3 秒后的时间戳为该车安排出发时间。

schedule() 方法有四个参数:(我们正在调度的内容、车辆 ID、交叉路口 ID、时间戳)。我的问题是关于传递交叉口 ID(这个模拟有多个交叉口)。如果我不知道 Intersection 对象的引用变量的名称,如何将它传递给另一个函数?

4

1 回答 1

1

您需要首先识别系统中的车辆——一个常见的选择,尤其是在数据库驱动的应用程序中,是使用整数值。因此,为您的每辆车附加一个唯一标识符,然后将它们称为IntegerLong,具体取决于您预见到的实例数量。

如果您仅将数据保存在内存中,则可以从Map<Integer,Vehicle>. 在这里对线程安全采取额外的预防措施,ConcurrentHashMap是一个不错的选择。

于 2013-02-24T21:07:22.490 回答