调用 returns int[] 的方法

Call of a method that returns int[]

我有以下代码:

 public int[] getState() {

    int[] a = new int[SIZE];
    for (int i = 0; i < SIZE; i++) { a[i] = mCells[i].getState(); }
    return a;
}

public void setState(int player, int[] state){

    setCurrentPlayer(player);
    //state = new int[9];
    // have tried this.getState();
    state = getState();

}

但我收到以下编译器错误:

Your code did not compile: /testClass.java:25: cannot find symbol
symbol  : method getState()
location: class testClass
state = getState();
    ^
1 error

我有两个 class CellState 具有:

public int getState(){
    return mState;
}

GameState 第一个 getState 和以下属性:

private CellState[] mCells;

能请教一下吗?

提前致谢!! :)

state = getState() in TestClass.java 和state = this.getState()是一回事,你说的你也试过了。这意味着 Java 正在 TestClass.java. 中寻找名为 getState() 的方法 您是否正在尝试调用 CellState.java 中的 getState() 方法?如果是这样,您需要一个 CellState 对象的实例来调用 getState() 方法。例如,这样的代码应该在 TestClass.java.

中编译
CellState myCellState = new CellState();
//do things with myCellState
myCellState.getState();

我找到了解决方案:

public void setState(int player, int[] state){ 
setCurrentPlayer(player); 

for(int i=0;i<SIZE;i++){ 
   mCells[i].setState(state[i]); 
} 
} 

我的第一个声明是正确的,但在 Web IDE 中,我不太明白实验室想要我实现什么,这就是 java TestClass 提示错误的原因(实验室想要: 说明:设置当前播放器为player,每个cell的状态为state中对应的状态。)

非常感谢你们的帮助! (我现在可以去睡觉了.. :))