在java Observable的更新方法中传递数组作为参数

在java Observable的更新方法中传递数组作为参数,java,arguments,observable,updates,Java,Arguments,Observable,Updates,我正在开发一个简单的客户机-服务器游戏,在这个游戏中,客户机一旦成功登录,就会用一个包含25个单词的数组通知其观察者,以更新游戏。客户端正在发送正确的信息,但GUI中的更新方法不正确。更新方法如下所示 public void update(Observable o, Object arg) { if (arg[0].equals("true1")) { for(int i = 1; i <26; i++]){ String [i] words

我正在开发一个简单的客户机-服务器游戏,在这个游戏中,客户机一旦成功登录,就会用一个包含25个单词的数组通知其观察者,以更新游戏。客户端正在发送正确的信息,但GUI中的更新方法不正确。更新方法如下所示

public void update(Observable o, Object arg) {
    if (arg[0].equals("true1")) {
        for(int i = 1; i <26; i++]){
           String [i] words = args[i]; // sets the words to the args 
       }

       player = new PlayerView(client, words); // creates new playerview taking the client and an array of words

       this.setContentPane(player); // sets player view to content pane
    }
}
public void更新(可观察到的o,对象arg){
如果(arg[0].equals(“true1”)){
对于(int i=1;i按如下方式操作:

  • 检查
    arg
    是否实际上是字符串数组(字符串[])
  • 将其转换为字符串数组
  • 单词
    声明为大小为25的数组(如果我正确理解了您的算法)
  • 将索引1到25从arg数组复制到words数组
这应该行得通

public void update(Observable o, Object arg) {
    // check that it is indeed an array
    if(arg instanceof String[]) {
        // cast it into an array
        String[] argArray = (String[]) arg;

        // make your words array
        String[] words = new String[25];
        if (argArray[0].equals("true1")) {
            for(int i=1; i<26; i++) {
                words[i-1] = argArray[i]; 
            }

            player = new PlayerView(client, words); // creates new playerview taking the client and an array of words

            this.setContentPane(player); // sets player view to content pane
        }
    }
}
public void更新(可观察到的o,对象arg){
//检查它是否确实是一个数组
if(字符串[]的arg instanceof){
//把它抛成一个阵列
字符串[]argArray=(字符串[])arg;
//把你的单词排成数组
字符串[]字=新字符串[25];
if(argArray[0].equals(“true1”)){
对于(int i=1;iDefine“似乎不起作用”。