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

Java中反转数组后for-each循环输出异常,普通for循环正常求助

问题分析与解决:for-each循环误用导致输出异常

核心问题

你在for-each循环里搞混了元素值和索引:

  • 普通for循环中,i是数组的索引,list2[i]能正确取到反转后的元素,所以输出正常。
  • 但在for(int i:list2)里,i是数组list2的元素值,不是索引。你却用list2[i]去取值,这就导致了反向访问:
    反转后的list2是[9,8,7,6,5,4,3,2,1,0],第一次循环i=9,取list2[9]得到0;第二次i=8,取list2[8]得到1……最终输出的是0123456789,和预期完全相反。

修正后的for-each循环

直接打印循环变量i即可,因为它就是数组里的元素:

for(int i:list2) {
    System.out.print(i);
}

关于Arrays.toString()的正确输出

Arrays.toString()方法内部会直接遍历数组的每个元素值并格式化输出,不会把元素当成索引使用,所以不管在什么时候调用,都能准确展示数组的真实内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 12:01:03