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

问题描述 投票:0回答:6

我试图从数组列表中删除最后一个元素,但这里的 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!
           }
}
java arraylist
6个回答
4
投票
return stringList.remove(stringList.size() - 1);

其余部分可以删除,因为

remove
返回删除的项目。


1
投票

return
语句后面的代码永远无法执行。


1
投票

Return 语句应该放在最后,因为编译器假定 return 语句之后没有任何内容,并且可能会显示 unreachable statements


0
投票

return
语句之后的任何语句都将不可访问(无法访问的代码错误)。
return
语句通常应该是您希望在 method() 中执行的最后一个语句。

冒出在

return
上方给出错误的语句,代码应该可以正常工作。

stringList.remove(stringList.size() - 1); //goes above the return
return last;

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;
        }

0
投票

List#getLast
&
List#removeLast

在 Java 21+ 中,

List
SequencedCollection
。请参阅JEP 431:排序集合

所以现在

List
提供了
getLast
removeLast
等便捷方法。

String lastString = myStringList.getLast() ;
myStringList.removeLast() ;
© www.soinside.com 2019 - 2024. All rights reserved.