有一个List
:
List<Integer> l = new ArrayList<Integer>();
l.add(300);
l.add(3070);
if (l.get(8) == null) System.out.println("null"); else System.out.println("something else");
在运行时我得到了ArrayIndexOutOfBound异常,那么如何知道特定索引是否存在?
答案 0 :(得分:3)
简单;你打电话:>version
platform x86_64-w64-mingw32
arch x86_64
os mingw32
system x86_64, mingw32
status
major 3
minor 3.2
year 2016
month 10
day 31
svn rev 71607
language R
version.string R version 3.3.2 (2016-10-31)
nickname Sincere Pumpkin Patch
。
与数组类似,您希望在访问索引之前检查列表的长度。
如果你不这样做;然后你找到了答案&#34;你已经自己了:尝试访问无效索引会导致list.size()
被抛出。
并且不要误会我的意思:但真正的答案在这里:研究你打算使用的概念。
您似乎有一些想法&#34; list&#34;一般工作(可能基于其他编程语言中的类似概念)。但这不是你编写代码的方式:你不要假设。对于要使用的内容,请转到javadoc;你研究那个。或者您阅读了相应的tutorials!
答案 1 :(得分:2)
您可以使用列表大小和减号1来查找最后一个索引
答案 2 :(得分:1)
使用ArrayList.size方法检查列表的大小。索引不能超过size-1
答案 3 :(得分:1)
您应该添加ArrayList
大小的检查,如下面的代码:
if (l.size()>8 && l.get(8) == null)
System.out.println("null");
else
System.out.println("something else");
使用&amp;&amp;在if子句中添加多个条件的操作符。