Java 计算节点上的代理数

Java 计算节点上的代理数,java,anylogic,Java,Anylogic,我已经设置了一个多边形节点(称为area_wait),在队列中,一种类型的代理将保留在该节点上。我尝试使用函数查找节点上的代理数。我不想计算队列中的代理,因为我已经为可能位于不同节点的所有等待代理设置了一个队列 我使用的代码总是返回零 int count_X = area_wait.agents().size(); 事实上,当我检查以下内容时,列表为空: List list_X = area_wait.agents(); 我做错了什么?提前感谢。我会给你我在anylogic用户组中给出的相同

我已经设置了一个多边形节点(称为area_wait),在队列中,一种类型的代理将保留在该节点上。我尝试使用函数查找节点上的代理数。我不想计算队列中的代理,因为我已经为可能位于不同节点的所有等待代理设置了一个队列

我使用的代码总是返回零

int count_X = area_wait.agents().size();
事实上,当我检查以下内容时,列表为空:

List list_X = area_wait.agents();

我做错了什么?提前感谢。

我会给你我在anylogic用户组中给出的相同答案,可以在这里找到:

所以你尝试使用的这个函数不起作用。。。除非节点内的东西是运输工具,并且只有当节点有速度或访问限制时。。。这可能是一个bug或者文档中解释得不好的东西,但对我来说这听起来像个bug

如果您想知道节点中代理的数量,可以使用替代方法count(myAgents,a->a.getNetworkNode()!=null&&a.getNetworkNode().equals(yourNode)),但如果您在不使用moveTo块或其他自然移动(例如在块的代理位置参数中定义节点)的情况下更改节点位置,则此操作将失败。。。所以这是另一个bug,但可能不适用于您


所以总结一下。。。据我所知,没有简单安全的解决方案

谢谢Felipe。很高兴知道不仅仅是我犯了一个愚蠢的错误。不幸的是,在代理位置定义节点正是我要做的。我会试着想出另一种方法。