ste*_*her 0 java polymorphism casting multidimensional-array
我正在研究java中的跳棋游戏.我代表我的董事会是这样的:
Object[][] board = new Object[8][8];
Run Code Online (Sandbox Code Playgroud)
我希望能够在2D对象数组中放置Checker对象或null值.
我有一个方法将Checker对象分配给2D对象数组中的位置.
我的问题是,当我为该方法编写测试时:
public void testPopulateCheckers() {
assertEquals("Red", game.board[0][4].color)
}
Run Code Online (Sandbox Code Playgroud)
该颜色的方法(这是我的方法检查类)没有露面.我已经尝试将其作为Checker进行投射,但它只列出了可用的Object方法.
// This should work
public void testPopulateCheckers() {
assertEquals("Red", ((Checker) game.board[0][4]).color)
}
Run Code Online (Sandbox Code Playgroud)
但是,如果您要存储的只是Checker对象或null,请将声明更改为此,这样您就不必进行强制转换.
Checker[][] board = new Checker[8][8];
Run Code Online (Sandbox Code Playgroud)