【发布时间】:2018-07-28 04:13:18
【问题描述】:
所以我有一个函数需要获取一个二维字符数组(对象)。
我想从 2d char 数组中插入它的值,它可以工作,但是当我尝试将数组发送到函数时,它无法将它作为 Character 2d 数组读取,并返回 null。
这是代码:
char[][] arr = board.getBoard();
Character[][] c = new Character[board.getX()][board.getY()];
for(int i=0; i<board.getX(); i++) {
for(int j=0;j<board.getY();j++) {
c[i][j] = (char)arr[i][j];
}
}
当我稍后将 c 发送到函数时,将 arr 转换为 char 效果不佳。
当我决定将值硬插入 c 时,发生了有趣的事情,如下所示:
Character[][] c = new Character[5][4];
c[0][0] = 's';
c[0][1] = '|';
c[0][2] = '7';
c[0][3] = ' ';
c[1][0] = ' ';
c[1][1] = '|';
c[1][2] = 'L';
c[1][3] = 'r';
c[2][0] = '-';
c[2][1] = 'J';
c[2][2] = ' ';
c[2][3] = '|';
c[3][0] = '7';
c[3][1] = 'J';
c[3][2] = '-';
c[3][3] = 'J';
c[4][0] = ' ';
c[4][1] = 'g';
c[4][2] = ' ';
c[4][3] = '-';
当我这样做时,代码运行良好并且函数能够与 c 一起使用。
我需要某种解决方案,比如强制转换,但如果你有的话,我更喜欢更好的解决方案。
干杯!
【问题讨论】:
-
是的,遗憾的是它没有解决它
-
显示这部分的代码:当我稍后将 c 发送到函数时,将 arr 转换为 char 不能正常工作。 你得到的可能错误.
-
null到底是什么? -
这些点赞从何而来?到目前为止,这听起来像是 stackoverflow.com/q/218384/3182664