纠结IndexOutOfBoundsException: Index: 11, Size: 11

"main" java.lang.IndexOutOfBoundsException: Index: 11, Size: 11 

总是报错找不到为什么

上程序

	public void TempCopy(CusGroup a, ArrayList<Integer> b) {
		for(int i = 0;i < b.size();i++) {
			int mi = b.get(i);
			int len = a.getRoster().get(mi).size();
			TempRoster.remove(mi);
			TempT.remove(mi);
			ArrayList<Integer> x1 = new ArrayList<Integer>();
			LinkedList<Double> y1 = new LinkedList<Double>();
			TempRoster.add(mi, x1);
			TempT.add(mi, y1);
			for(int j = 0;j < len;j++) {
				TempRoster.get(mi).add(j, a.getRoster().get(mi).get(j));
				TempT.get(mi).add(j, ObjectFun.T.get(mi).get(j));
			}
		}
	}

问题在于,将数据带入程序后有时是没问题,有时候就会报错,也没想通怎么弄的,求解答,谢谢

报错信息发一下呢,需要知道报错在哪里一行上,最好是详细的报错信息。

"main" java.lang.IndexOutOfBoundsException: Index: 11, Size: 11 

1.下标越界异常,跟数组越界异常一样,只不过这个在集合的使用中出现

2.意思是你的集合中有11个元素,你的下标也取到了11,这是不行的,只能取到10

3.在第3行打断点,debug看下问题点

你第三行int mi = b.get(i);但是第四行a.getRoster(),你能保证它的长度一定是大于等于mi的吗,如果不行,肯定会报下标越界错误

您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632