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

Java&Selenium报错:List<Map<String,Object>>的get(int)不适用String参数

问题分析与解决:List<Map<String,Object>>调用get(String)报错

报错原因

resultSet是List<Map<String, Object>>类型,本质是存着Map对象的列表。List的get()方法仅接受int类型的索引参数(用来定位列表里的第几个元素),但你传入了字符串"sku"——这是Map的get()方法才会用的key参数,类型完全不匹配,所以触发报错。

解决方法

你得先从List里拿到目标Map对象,再调用Map的get()方法获取"sku"对应的值:

  • 如果数据库查询仅返回一行结果(List里只有一个Map),直接取索引0的元素:
// 先获取列表中的第一个Map对象
Map<String, Object> targetRow = resultSet.get(0);
// 再从Map中提取sku值并输入
driver.findElement(By.xpath("//*[@id=\"manage-options-panel\"]/table/tbody/tr[117]/td[3]/input"))
    .sendKeys(targetRow.get("sku").toString());
  • 如果List里有多行结果,先确定要取哪一行的索引,再按上述步骤操作。

关键说明

不需要替换List的get()方法,核心是要分清:

  • List的get(int index):按索引取列表中的元素
  • Map的get(Object key):按key取Map中的值
    必须先拿到List里的Map对象,再对Map进行key取值操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 07:05:20