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

基于字符串URL发起Get请求时遇数组类型错误的技术咨询

问题原因

你遇到的“期望数组类型但未找到”错误,根源在于forEach循环中的row是表格行对象,不是数组索引:

  • 在rows.forEach(row -> {...})里,row代表的是集合中的单个表格行实例(比如POI的Row对象),是一个对象类型,不是整数类型的索引。
  • 而你调用getRequest(queryParamsList[row])时,试图用row作为数组/列表的下标,编译器期望这里是一个int类型的索引,但实际传入的是Row对象,类型完全不匹配,所以抛出了这个错误。

另外还有个小细节:你生成的URL是存在urls列表里的,但调用getRequest时却用了queryParamsList,如果这两个列表不是一一对应的,也会导致逻辑错误哦。

解决方法

根据你的需求,有两种简单的修复方式:

方式一:在forEach中直接使用生成的URL

既然你在forEach里已经生成了对应的URL,直接把这个URL传给getRequest就好,完全不需要用索引:

final String URL_CORE = "/test/platform/auth";
List<String> urls = new ArrayList<>();
rows.forEach(row -> {
    final String clientValue = row.getCell("client");
    final String uriValue = row.getCell("uri");
    final String typeValue = row.getCell("type");
    // 先把生成的URL存到变量里
    String url = URL_CORE + "?" 
            + (clientValue.isEmpty() ? "" : CLIENT + "=" + clientValue + "&") 
            + (uriValue.isEmpty() ? "" : URI + "=" + uriValue + "&") 
            + (typeValue.isEmpty() ? "" : TYPE + "=" + typeValue);
    urls.add(url);
    // 直接用生成的url调用getRequest
    getRequest(url);
});

注意:我帮你补全了isEmpty()的括号,Java里字符串判空是方法调用哦,clientValue.isEmpty会编译报错的

方式二:改用普通for循环(需要索引时)

如果你确实需要用到索引(比如要关联queryParamsList里的对应元素),可以放弃forEach,改用普通的for循环:

final String URL_CORE = "/test/platform/auth";
List<String> urls = new ArrayList<>();
for (int i = 0; i < rows.size(); i++) {
    Row row = rows.get(i);
    final String clientValue = row.getCell("client");
    final String uriValue = row.getCell("uri");
    final String typeValue = row.getCell("type");
    String url = URL_CORE + "?" 
            + (clientValue.isEmpty() ? "" : CLIENT + "=" + clientValue + "&") 
            + (uriValue.isEmpty() ? "" : URI + "=" + uriValue + "&") 
            + (typeValue.isEmpty() ? "" : TYPE + "=" + typeValue);
    urls.add(url);
    // 这里用索引i访问queryParamsList的对应元素
    getRequest(queryParamsList.get(i));
}

额外小建议:生成URL时如果所有参数都不为空,末尾会多一个&,可以用StringBuilder或者流式处理来优化参数拼接,避免这种无效字符的出现~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 07:48:32