小编Sha*_*keR的帖子

Java Stack push方法NullPointerException

我正在实现一个带有两个堆栈的字符缓冲区.我用insert()方法插入一个元素:

class Buffer
{
    private Stack<Character> stackLeft;
    private Stack<Character> stackRight;
    private int size;

    Buffer()
    {
        Stack<Character> stackLeft   = new Stack<Character>();
        Stack<Character> stackRight  = new Stack<Character>();
        size = 0;
    }

    public void insert(char c)
    {
        size ++;
        stackLeft.push(c); //This line returns NullPointerException
    }
}
Run Code Online (Sandbox Code Playgroud)

每次尝试推送c字符变量时,它都会抛出Null指针异常.这是我从main调用它的方式:

public static void main(String[] args)
{
    Buffer tb = new Buffer();

    Character ch = new Character('a');
    tb.insert(ch);
    tb.insert(new Character('a'));
    tb.insert('a');
}
Run Code Online (Sandbox Code Playgroud)

所有这些都返回null异常.断言Character到达方法内部很好.我用过java.util.Stack; 当它失败时,我实现了自己的.但它仍然失败了.
我能做错什么?
任何形式的帮助表示赞赏!

java stack character nullpointerexception

0
推荐指数
1
解决办法
5878
查看次数

标签 统计

character ×1

java ×1

nullpointerexception ×1

stack ×1