gpt4 book ai didi

java - 在空列表上使用 ".Get(0)"时,出现越界异常而不是 null?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:34:23 28 4
gpt4 key购买 nike

所以在我的家庭作业中,为了我的错误检查测试,我做了一个 List<SomeObject>我得到一个 IndexOutOfBoundsException .我通过检查 .isEmpty 来解决它但我想知道为什么不:

boolean b = myList.Get(0) != null;

工作?

当我调试应用程序并查看 myList 时我看到 null 的 9 个条目.我可以看到它的大小为 0不过,这可能就是为什么?它的尺寸0 ,所以当我尝试获取一个条目时,它不存在?

最佳答案

如果是Java:

ArrayList<Object> list = new ArrayList<Object>();
list.get(0);

会导致

Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.RangeCheck(ArrayList.java:547)
at java.util.ArrayList.get(ArrayList.java:322)
at HelloWorldTester.main(HelloWorldTester.java:7)

原因其实在源码上。 rangecheck 可能正在检查您要获取的内容是否小于列表的大小。如果更高然后

throw new IndexOutOfBoundsException();

关于java - 在空列表上使用 ".Get(0)"时,出现越界异常而不是 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14636204/

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