首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场

链表栈
EN

Code Review用户
提问于 2017-05-28 10:01:32
回答 1查看 140关注 0票数 0

我的代码在工作部分没有问题,但我仍然有一些担心,如果有什么遗漏,所以我想审查我的代码。另外,我想知道这些方法的异常是否为真类型。

代码语言:javascript
复制
public class ArrayListStack<E> implements Stack<E> {

    private ArrayList<E> list;

    public ArrayListStack()
    {
        list = new ArrayList<>();
    }

    public int size()
    {
        return list.size();
    }

    public boolean isEmpty()
    {
        return size() == 0;
    }

    public void push(E e)
    {
        list.add(size(), e);
    }

    public E top()
    {
        if(isEmpty()) throw new IllegalStateException("Array is empty");
        return list.get(size()-1);
    }

    public E pop()
    {
        if(isEmpty()) throw new IllegalStateException("Array is empty");
        return list.remove(size()-1);
    }


}
EN

回答 1

Code Review用户

发布于 2017-05-28 20:29:45

  1. 我倾向于尽快实例化我的集合。此外,使用final,您可以确定没有人会将其设置为null (不需要空-检查==代码更易读和更安全) private final ArrayList<E> list = new ArrayList<>();
  2. 考虑使用@Override标记越位方法,以便将来您(和其他开发人员)能够一目了然地了解您的方法的起源。
票数 0
EN
页面原文内容由Code Review提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codereview.stackexchange.com/questions/164387

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档