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

Android Studio使用Java提取2D数组每行首个元素失败如何解决

错误原因

你的代码触发了数组越界异常:Java数组索引从0开始,长度为n的数组有效索引范围是0 ~ n-1,你写的循环条件i <= items.length会让i最后遍历到items.length这个不存在的索引位,自然运行失败。

修复代码

普通写法(兼容所有Java版本)

ArrayList<String> data = new ArrayList<>();
// 把 <= 改成 < 即可,也可以把i++移到for循环括号里更符合常规写法
for (int i = 0; i < items.length; i++) {
    data.add(items[i][0]);
}

Java 8+ 流简化写法

import java.util.ArrayList;
import java.util.Arrays;
import java.util.stream.Collectors;

// ...
ArrayList<String> data = Arrays.stream(items)
        .map(subArray -> subArray[0])
        .collect(Collectors.toCollection(ArrayList::new));

两种写法运行后得到的data就和你预期的结果完全一致。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 04:45:05