我正在尝试从arraylist中删除最后一个元素,但这里的pop()方法不能正常工作。我该如何更改代码?
public String pop(){
String last;
if (stringList.size() == 0){
return null;
} else {
last = stringList.get(stringList.size()-1);
return last;
stringList.remove(stringList.size() - 1); //This is giving me error!
}
}
答案 0 :(得分:4)
return stringList.remove(stringList.size() - 1);
其余部分可以删除,因为remove
会返回已删除的项目。
答案 1 :(得分:1)
一个return
语句后面的代码永远不会被执行。
答案 2 :(得分:1)
返回语句应该是最后的,因为编译器假定在return语句之后没有任何内容,它可能会说无法访问的语句
答案 3 :(得分:0)
因为您在return last;
之前执行了stringList.remove(stringList.size() - 1);
语句,并且在return语句之后的任何语句都没有执行。
修改后的代码:
else {
last = stringList.get(stringList.size()-1);
stringList.remove(stringList.size() - 1); //Now it wont give any error!
return last;
}
答案 4 :(得分:0)
无法访问return
语句后的任何语句(无法访问的代码错误)。 return
语句通常应该是您希望在方法()中执行的最后一个语句。
冒充语句,使错误高于return
,代码应该可以正常工作。
stringList.remove(stringList.size() - 1); //goes above the return
return last;