0

我的构造函数是

public class Figure{
    int[][] x;
    Color y;
    public Figure(int[][] x , Color y){
        this.x=x;
        this.y=y;
    }

我正在通过以下方式初始化对象:

Figure s = new Figure({{0,1,1},{1,1,0}},Color.ORANGE);

收到以下错误:

类型不匹配 - 无法从 int[][] 转换为图形 令牌上的语法错误:错位的构造 应改为变量声明符

4

1 回答 1

9

您必须像这样创建矩阵:

new Figure(new int[][]{{0,1,1}, {1,1,0}},Color.ORANGE);

或者一种不太脏的方式:将矩阵构造分布在几行上:

int[][] matrix = new int[2][];
matrix[0] = new int[]{0,1,1};
matrix[1] = new int[]{1,1,0};

new Figure(matrix, Color.ORANGE);
于 2012-07-25T12:44:54.143 回答