与方法类完全相同的格式时,调用方法时参数不兼容

时间:2019-02-16 23:10:33

标签: java

我试图在需要int[][][] table作为参数的其他类中使用一种方法,但是当我放入参数时,它无法编译,并说该方法不适用于类型{{1} },但没有“ int[][][]::table”,我不确定这是哪里来的。

这是我试图调用该方法的部分

::

这是utils类文件中的方法:

static void printTableOf(FSAe A) 
{
    Utils.printTransitionTable(int[][][] table);
}

编辑:这是初始化表的方法:

static void printTransitionTable(int[][][] table)
{
    if (table.length == 0) return;

    int columns = table[0].length;
    String[] labels = new String[columns];

    for (int i=0; i<labels.length; i++) {
            if (i == columns-1)
                labels[i] = "eps";
            else
                labels[i] = i+"";
    }

3 个答案:

答案 0 :(得分:2)

定义方法时使用数据类型,而在调用方法时不使用数据类型。调用方法时,只需将其传递给该类型的参数即可:

Utils.printTransitionTable(table);

这假设某个地方(未在您的方法中显示,因此可能在类级别)具有变量 table,该变量的类型为int[][][],重新传递给此方法调用。

答案 1 :(得分:1)

尝试使用此Utils.printTransitionTable(table);而非Utils.printTransitionTable(int[][][] table);

答案 2 :(得分:1)

问题很简单。您想要做的就是将局部变量 declaration 传递给printTransitionTable方法。 您需要正确声明并初始化table变量。

static void printTableOf(final FSAe A)  {
    final int[][][] table = Utils.transitionTable(A);
    Utils.printTransitionTable(table);
}

就您所知,::语法表示method referencedocumentation)。