ArrayList#size() 大于实际对象数

Posted

技术标签:

【中文标题】ArrayList#size() 大于实际对象数【英文标题】:ArrayList#size() is more than actual number of objects 【发布时间】:2015-07-27 13:53:48 【问题描述】:

我的 android 应用中有一个 ArrayList,其中有 2 个项目。然而,它的 size 方法返回 3。我知道这听起来非常简单和愚蠢,但它是这样的:

为什么会发生这种情况? ArrayList 的大小如何返回错误的数字?当我迭代列表时,这会导致空指针异常。

【问题讨论】:

IntelliJ 有一个关于隐藏 null 值的设置。右键单击调试器中的变量部分并选择Customize Data Views...Hide null array elements 有一个选项,您应该确保未勾选。 @Oli 就是这样。很遗憾,他们默认开启了这种极其违反直觉的设置。 @Oli 您能否发表您的评论作为答案,以便我接受它,因为它解决了我的问题。 完成。我同意,让它默认是一个非常奇怪的选择。当我遇到和你一样的问题时,我偶然发现了这个解决方案。 @Oli 是的,绝对是一个很酷的功能,但如果你不知道它,同样会令人困惑:) 【参考方案1】:

IntelliJ 有一个关于隐藏null 值的设置。右键单击调试器中的变量部分并选择Customize Data Views...Hide null array elements 有一个选项,您应该确保未勾选。

【讨论】:

谢谢!很好的答案! TG 4 SO(翻译:来自Eclipse,我不知道这个功能)

以上是关于ArrayList#size() 大于实际对象数的主要内容,如果未能解决你的问题,请参考以下文章

java技术:怎样将ArrayList的值赋值给一个二维数组啊?

ArrayList自动扩容解析

ArrayList和VectorLinkeList的区别

5.11 集合 与 特殊集合

空对象引用上的 TransitionSet ArrayList.size()

ARRAYLIST VECTOR LINKEDLIST 区别与用法