我对分配工作有些不满,正在尝试为矩形网格做一个基本的构造函数:

public RectangularGrid(int x, int y) {

    if ((x == 0) || (y == 0)) {
        throw new IllegalArgumentException();
    }

    Grid <T> grid = new RectangularGrid<T>(x, y);
}


但这似乎使我无法通过测试,因为它会导致堆栈溢出。我真的看不到这里出了什么问题,这似乎很基本。

测试如下:

private RectangularGrid<GameObject> grid;

/**
 * Create a small RectangularGrid to be used for testing.
 * The grid is 3 cells in length and 4 cells in width.
 */
@Before
public void setupRectangularGrid() {
    grid = new RectangularGrid<GameObject>(3, 4);
}


任何帮助深表感谢!

最佳答案

您正在构造器内部调用相同的方法(构造器)。因此,您的代码将不再重复返回,而只是简单地一遍又一遍地调用构造函数,直到出现堆栈溢出异常为止

08-28 07:08