You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AnyLogic中List<T>变量触发NullPointerException问题求助

解决智能体消息接收时的NullPointerException问题

问题原因

你遇到的NullPointerException本质是列表变量未初始化:你只声明了MessagesReceived列表,但没有创建具体的List实例对象;同时代码里的变量名拼写存在不一致——你声明的是MessagesReceived,但代码里写的是Messages_Recieved,下划线位置错误,这要么导致调用了未声明的变量,要么调用的是未初始化的变量,最终触发空指针错误。

解决步骤

  • 统一变量名:把代码里的Messages_Recieved改成和声明一致的MessagesReceived,建议用小驼峰命名(比如messagesReceived),更符合代码规范,减少拼写错误。
  • 初始化列表:
    方法1:变量声明时直接初始化(推荐)
    在AnyLogic的变量面板里,找到MessagesReceived变量,将初始值设置为new ArrayList<>()(如果你的消息是自定义类型,把泛型改成对应类型,比如new ArrayList<CustomMessage>())。
    或者用代码声明:
    List<Message> messagesReceived = new ArrayList<>();
    
    方法2:智能体启动时初始化
    在智能体的On startup事件中添加代码:
    this.messagesReceived = new ArrayList<>();
    
  • 修正消息接收代码:确保OnMessageReceived里的代码调用正确的变量:
    this.messagesReceived.add(msg);
    

内容的提问来源于stack exchange,提问作者mohammad javad Jafari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 07:36:19