2014-02-07 3 views
0

У меня есть некоторый код, который похож на следующее:Как я могу ссылаться/определять массив из другого метода в java?

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.How я могу решить эту проблему, это может показаться тривиальным, чтобы сделать такой небольшой массив глобальных но фактические массивы находятся в сотнях (отсюда и тот факт, что я не сделал c + p мой фактический код, хотя, если это необходимо, я не буду думать ни о чем).

Большое спасибо и в качестве примечания в Android, хотя я сомневаюсь, что это повлияет на код Java (я ошибаюсь, чтобы предположить это?).

В любом случае, спасибо еще раз! В последнее время я часто использую StackOverflow, и с этого момента я немного пожертвовал. Я попытаюсь ответить на столько вопросов, сколько могу.

Спасибо,

+1

Как бы вы это сделали, если бы это было нечто иное, чем массив? –

+0

Это также относится к этому, хотя я не возражаю против аргументов или просто делаю это global @OliCharlesworth – user2752347

ответ

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 
    } 

    } 
+0

Спасибо rafik, хотя это изначально не сработало. Я добавляю новую String, и она функционирует. Еще раз спасибо! – user2752347

1

Если вы позволите defineVariable аннулируются и создать переменную в пределах своей собственной сферы, эта переменная просто исчезает в небытие после готового exection. Вместо этого, defineVariable возвращает список, а затем используйте этот список в качестве параметра функции nextMethod().

1

Упорядоченный способ хранения многих переменных - группировать их в разные объекты. Таким образом, переменные, которые связаны между собой, могут быть помещены в один и тот же объект, а число переменных в вашем основном классе сводится к управляемому числу.

В приведенном ниже примере я сделал переменные общедоступными. Если вы предпочитаете, вы можете создавать геттеры и сеттеры.

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" }; 
} 
+0

Если вы не просите много, можете ли вы привести пример? Благодарю. – user2752347

+0

Добавлен пример. –

+0

Большое спасибо! Это помогло много. Хотя я буду использовать это, я думаю, что ответ Рафика был более подходящим. Хотя еще раз спасибо, и мне больно, что я не могу выбрать более одного ответа. – user2752347

Смежные вопросы