原始数组大小和list.size返回不同​​的值

时间:2017-09-21 18:45:07

标签: android android-studio android-recyclerview

check out the size and the element count in debug window

我正在创建一个RecyclerView,其中适配器从我在资源文件夹中创建的JSON文件中获取项目。我正在使用GSON将其转换为对象列表。由于 Nullpointer异常,运行应用程序时崩溃了。在调试时我发现数组大小与原始元素数量不匹配。任何人都可以分享他们对此的看法吗?

我必须在getItemCount()中添加 list.size-1 ,而不是仅添加 list.size ,以便我的应用能够正常运行。

在页面底部的屏幕截图中,arry大小为8,并且打开的数组只显示7个元素,这应该永远不会发生。

1 个答案:

答案 0 :(得分:0)

好的,这是因为在我尝试解析的JSON数组中的最后一个对象之后有一个额外的逗号。由于逗号将其转换为对象列表,GSON认为还有一个对象即将发生。删除了逗号,一切正常。在调试窗口中查看数组没有意义,让应用程序正常工作但仍然无法理解如何为7元素数组返回8。

Perception's Answer发现该大小返回一个实例变量。在GSON源中搜索以了解它是如何解析的