我该如何更改它以删除此列表中的最后一个元素?

时间:2014-01-23 12:44:07

标签: java arraylist

我正在尝试从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!
           }
}

5 个答案:

答案 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;