CrazyBBY 2016-06-04 04:58 采纳率: 100%
浏览 28925
已采纳

java报错java.lang.IndexOutOfBoundsException

图片说明
图片说明
图片说明
图片说明
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.rangeCheck(ArrayList.java:653)
at java.util.ArrayList.get(ArrayList.java:429)
at RobotInterface.joke(RobotInterface.java:295)
at RobotGUI.main(RobotGUI.java:47)
在mac上跑的时候没有报错,在win上跑的时候就有这样的错误了,然后发现同样的语句在我另一个相似的函数里也有但是没有这样的报错,求谈里大神给分析分析,我baidu的情况来看好像是数组超界了?

  • 写回答

2条回答 默认 最新

  • little_how 2016-06-04 05:41
    关注

    这个错误的意思是说你的list里面没有元素;但是你i尝试取第一个元素,所以导致越界。
    就好比这样的:
    List<String> list = new ArrayList<>();
    System.out.println(list.get(0));

    其实这个list是没有元素的,这样就会报:
    Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
    因为index=0其实指向的是list的第一个元素

    如果有帮助,希望结贴。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?