Java 空ArrayList上的Outofbounds异常
我从以下代码中得到一个outofbounds异常:Java 空ArrayList上的Outofbounds异常,java,arraylist,Java,Arraylist,我从以下代码中得到一个outofbounds异常: myArray.get(myArray.size() - 1) 我知道这是因为myArray不包含任何项目。在检查数组中最后添加的项之前,我尝试添加此项: If (myArray.size() == -1){ myArray.add(string) } 但那没什么区别。我做错了什么 myArray.size()永远不会是-1。请注意,size是一个非负数。它可以是0或更多 您可以检查它是否等于0,然后添加元素。myArray.size
myArray.get(myArray.size() - 1)
我知道这是因为myArray
不包含任何项目。在检查数组中最后添加的项之前,我尝试添加此项:
If (myArray.size() == -1){ myArray.add(string) }
但那没什么区别。我做错了什么 myArray.size()
永远不会是-1
。请注意,size
是一个非负数。它可以是0或更多
您可以检查它是否等于0
,然后添加元素。myArray.size()
永远不会是-1
。请注意,size
是一个非负数。它可以是0或更多
您可以检查它是否等于0
,然后添加元素。尝试使用
if (!myArray.isEmpty())
myArray.get(myArray.size() - 1);
当列表不为空时,这将获取列表中的最后一个值。尝试使用
if (!myArray.isEmpty())
myArray.get(myArray.size() - 1);
当列表不为空时,这将获取列表中的最后一个值。为什么认为
size()
在列表为空时返回-1
?为什么认为size()
在列表为空时返回-1
?我的印象是数组中的第一个位置是0,这就是为什么我要检查-1。@Josh数组中的第一个位置是0,但是元素的编号方案与元素的总数没有关系。空数组的大小为0,因为其中包含0个内容。结束。我的印象是数组中的第一个位置是0,这就是为什么我要检查-1。@Josh数组中的第一个位置是0,但元素的编号方案与元素的总数无关。空数组的大小为0,因为其中包含0个内容。结束。