使用 arraylist 并尝试获取最后一个元素时,我遇到了一些运行时错误。
import java.util.ArrayList;
public class MyProgram{
private ArrayList<String> list = new ArrayList<String>();
public void printLastThing(){
int lastIndex = list.size() - 1;
String thing = list.get(lastIndex);
System.out.println(thing);
}
public static void main(String[] args){
MyProgram example = new MyProgram();
example.printLastThing();
}
}
答案 0 :(得分:1)
没有元素添加到列表中,所以它是空的。您正在尝试获取 -1 处的元素,这将引发 java.lang.IndexOutOfBoundsException。
在这种情况下,您应该检查是否越界。
我添加了一个方法来检查 lastindex。如果列表为空,它将返回 -1,如果列表为空,您可以在获得 -1 后显示该列表。
import java.util.ArrayList;
public class MyProgram{
private ArrayList<String> list = new ArrayList<String>();
public MyProgram() {
list.add("a");
list.add("z");
}
public void printLastThing(){
int lastIndex = getLastIndex();
if(lastIndex >= 0)
System.out.println(list.get(lastIndex));
else
System.out.println("List is empty");
}
private int getLastIndex() {
if(list.size()==0) {
return -1;
}
return list.size() - 1;
}
public static void main(String[] args){
MyProgram example = new MyProgram();
example.printLastThing();
}
}