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

Java中如何根据API返回的通知ID获取对应用户名?

问题解决:通过通知ID获取用户名

正确的类型定义

API返回的是键为通知ID、值为用户名的键值对对象,对应Java中的Map结构,而非你之前用的ArrayList<Pair<Integer,String>>。根据通知ID的处理需求,有两种合适的类型:

  • 直接使用字符串作为键(匹配API返回的原始字符串格式):
    Map<String, String> usernameMap;
    
  • 转换为Integer作为键(需确保所有通知ID都是合法数字):
    Map<Integer, String> usernameMap;
    

获取用户名的方法

根据你选择的类型,对应两种取值方式:

  1. 若使用Map<String, String>:
    将Integer类型的通知ID转为字符串后调用get()方法:

    String username = usernameMap.get(String.valueOf(userIdInt));
    
  2. 若使用Map<Integer, String>:
    直接传入Integer类型的通知ID调用get()方法:

    String username = usernameMap.get(userIdInt);
    

原方案失效原因

ArrayList<Pair<Integer,String>>是有序列表结构,需要遍历才能定位到对应ID的用户名,完全不匹配API返回的键值对映射结构。而Map是专为键值对快速查找设计的结构,能直接通过通知ID(键)获取对应的用户名(值),效率更高且逻辑更贴合API数据格式。

内容的提问来源于stack exchange,提问作者Universe

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 07:02:33