我试图在需要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+"";
}
答案 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 reference
(documentation)。