gpt4 book ai didi

java - 列表大小具有意想不到的值(value)

转载 作者:行者123 更新时间:2023-12-01 06:10:35 26 4
gpt4 key购买 nike

假设循环中存在以下情况:

LinkedList<String> myList = someMethodReturnsList();
int start = 0, end = 0;

while (end < myList.size() && someOtherCondition)
++end;

List<String> subList = myList.sublist(start, end);

... (do stuff and possibly alter list)

start = end;

我遇到的情况是仅有时,会调用 sublist会抛出 IndexOutOfBoundsException 。鉴于我对 end < myList.size() 的第一次测试,这让我很困扰,所以我写了一些调试代码。我的调试代码告诉我介于 while 之间循环并调用sublist ,我的end值最终为 34 而 myList.size()返回 33。

这怎么可能?我的程序中没有其他线程可以在此列表上操作,那么我的循环检查是如何通过并递增 end 的?到 34?

编辑:这始终发生在我的代码执行中的特定点,因此这不是一个侥幸错误,但它不会发生在该函数的每个输入中,这使得这变得更加奇怪。

最佳答案

你所描述的情况是不可能的。

实际上,实现这种情况的唯一方法是您自己的调试:有一些 IDE 功能,例如代码元素检查,可以在应用程序在断点处暂停时执行部分代码。

您必须使用调试器工具更改 end 的值。

关于java - 列表大小具有意想不到的值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35855615/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com