我正在用java开发跳棋游戏。我像这样代表我的董事会:
Object[][] board = new Object[8][8];
我希望能够在2D对象数组中放置检查器对象或null值。
我有一个方法,将Checker对象分配给2D对象数组中的位置。
我的问题是,当我为方法编写测试时:
public void testPopulateCheckers() {
assertEquals("Red", game.board[0][4].color)
}
color方法(这是我的Checker类的方法)没有显示。我试过将其作为检查器,但它只列出了对象方法可用。
// This should work
public void testPopulateCheckers() {
assertEquals("Red", ((Checker) game.board[0][4]).color)
}
但是,如果您存储的都是Checker对象或null,请将声明更改为this,这样您就不必强制转换了。
Checker[][] board = new Checker[8][8];
如果你想在矩阵上调用color()之类的方法,你应该使用Checker来声明你的矩阵
Checker[][] board = new Checker[ 8 ][ 8 ];
,当然要确保你初始化了所有的64个Checkers,因为只有棋盘是由上面的行初始化的。
像这样定义你的矩阵…
Object[][] board = new Checker[8][8];
public void testPopulateCheckers() {
assertEquals("Red", ((Checker) game.board[0][4]).color)
}
你需要强制转换它
编辑:方法添加!