如何从java中的另一个方法引用/定义数组?

时间:2014-02-07 08:29:03

标签: java arrays

我有一些类似于以下内容的代码:

public class exampleClass {

    public void main(){
        defineVariable();
        nextMethod();
    }

    void nextMethod(){
        list[8] = "threw away";
    }

    void defineVariable(){
        String[] list = {"trivial string","more trivial strings",
                       "just another trivial string","tr","a","sd",
                       "godzilla","ate","my","pony","and homework","trivial"};
    }

}

我无法访问nextMethod中的列表。如何解决这个问题,将这样一个小数组全局化,但实际的数组是数百个似乎是微不足道的(因此事实上我没有c + p我的实际代码虽然如果这是必要的,我至少不介意。)

非常感谢,并且作为旁注,这是在Android中虽然我怀疑这会影响java代码(我错误地假设这个?)。

无论如何,再次感谢!我最近一直在使用StackOverflow,并且从现在开始只贡献了一些,我会尝试回答尽可能多的问题。

谢谢,

3 个答案:

答案 0 :(得分:1)

只需在课堂上宣布。

 public class exampleClass {

    public void main()
    {

    nextMethod(defineVariable());
    }

    void nextMethod(String[] list)
    {
    list[8] = "threw away";
    }

    private String tab[] defineVariable()
    {
    String[] list= {"trivial string","more trivial strings","just another trivial string","tr","a","sd",
                     "godzilla","ate","my","pony","and homework","trivial"};
       return list
    }

    }

答案 1 :(得分:1)

如果让defineVariable为void并在其自己的范围内创建一个变量,那么该变量在完成执行后就会消失。相反,让defineVariable返回列表,然后使用此列表作为nextMethod()函数的参数。

答案 2 :(得分:1)

存储许多变量的一种巧妙方法是将它们分组到不同的对象中。 这样,相关的变量可以放在同一个对象中,主类中的变量数量减少到可管理的数量。

在下面的示例中,我将变量设为公共。如果您愿意,可以改为创建getter和setter。

public class Actions {
  public String humans[] = { "sit", "stand", "eat", "walk", "run", "drive", ride" };
  public String dogs[] = { "sit", "stand", "bark", "run" };
  public String sharks[] = { "swim", "attack" };
}

public class Equipment {
  public String armour[] = { "leather", "chainmail", "plate" };
  public String weapon[] = { "sword", "axe", "dagger" };
}