Anylogic:如何修复函数内的 NullPointerException 错误?

Anylogic: How to fix NullPointerException error within function?

我的 Anylogic 模型中出现 NullPointerException 错误:

if (directRoute.routeCosts.get("Day") < toHubRoute.routeCosts.get("Night") + fromHubRoute.routeCosts.get("Day")) {

这个 scentence 位于这个函数中,对于每个必须从特定终端到特定客户的订单,应该找到最便宜的路线(直接开车或通过位于 Region102 的枢纽)。

该功能参考以下列表的路线和费用:

路线和费用的数据集是:

有谁知道我为什么会收到此错误以及如何解决它?

谢谢!

这意味着在那个模拟点 directRoute.routeCosts.get("Day")toHubRoute.routeCosts.get("Night")fromHubRoute.routeCosts.get("Day") 都不存在。

由于以下原因,可能会发生这种情况:

  • 路由根本不存在
  • 查看您的第一个屏幕截图,您检查了来自 "Region102" 的连接。你是故意的吗?
  • 看看你的第二个屏幕截图,你说 where (cost.route.eq(route.id))route.id 列是定义的还是输入的?

PS。问题是在第二张截图中,它应该是 costRow.get,而不是 row.get