获取条形码 - 线程“main”java.lang.StackOverflowError中的异常

时间:2017-03-05 18:45:39

标签: java stack-overflow

public static void main(String[] args) {

    CashRegister myCashRegister = new CashRegister();

    Item item = myCashRegister.getItem(123456);



public class CashRegister {
    public Item getItem(int barcode) {
        return this.getItem(barcode);
    }



public class Item {

    public int getBarcode(){
        return barcode;
    }

我在main中创建一个item对象,并尝试通过Cash Register类获取该项的条形码。我最终得到“线程中的异常”主“java.lang.StackOverflowError”。

我在item类中有一个getBarcode方法,但由于条形码是一个int,因此不断出错,所以我不能为Item getItem方法返回一个int。

请让我朝着获取物品条形码的正确方向前进。 谢谢。

1 个答案:

答案 0 :(得分:0)

你编写了一个无限循环。

public Item getItem(int barcode) {
    return this.getItem(barcode);
}

这里你一次又一次地调用同样的方法......