2015-04-21 3 views
-2

Я хочу от этогокак сделать массив из классов Java

GuiClass marek = new GuiClass(1,"Marek"); 
GuiClass peter = new GuiClass(2,"Peter"); 
GuiClass tomas = new GuiClass(3,"Tomas"); 
GuiClass julo = new GuiClass(4,"Julo"); 

сделать массив стриг

String [] Gui; 
Gui = new String[] {"marek","peter","tomas","julo"} 

и после прохода этого массива в функцию,

+4

Это не ясно, что у вас есть и то, что вы хотите достичь. – amit

+0

Не очень понятно ... но вы можете попробовать реализовать метод toString() в GuiClass, а затем: Gui = new String [] {marek.toString(), peter.toString(), tomas.toString(), julo.toString()} – Lital

+0

Возможно, если 'GuiClass' имеет геттер для второго параметра. – Maroun

ответ

-1

Я думаю, вы хотите создать массив своего класса, который вы создали.

попробуйте этот код в качестве примера:

public class test { 

    ClassList cl[] = new ClassList[5]; 

    public test(){ 
     cl[0] = new ClassList("index 1", "name1"); 
     cl[1] = new ClassList("index 2", "name2"); 
     cl[2] = new ClassList("index 3", "name3"); 
     cl[3] = new ClassList("index 4", "name4"); 
     cl[4] = new ClassList("index 5", "name5"); 

     for(int i = 0; i<cl.length; i++){ 
      System.out.println(cl[i].getA()+" "+cl[i].getB()); 
     } 
    } 
    public static void main(String args[]){ 
     new test(); 

    } 
} 

class ClassList{ 
    String a; 
    String b; 
    public ClassList(String a,String b){ 
     this.a = a; 
     this.b = b; 
    } 
    public String getA(){ return a; } 
    public String getB(){ return b; } 
} 
+0

Thnxs много работает для меня. –

2

Вы можете использовать Java 8 Потоки API:

String[] Gui = Stream.of(marek, peter, tomas, julo) 
        .map (GuiClass::getName) // assuming GuiClass has 
               // getName method 
        .toArray(); 

В более общем случае, если у вас есть массив GuiClass (т. GuiClass[]), вы можете передать этот массив на Stream.of.

+2

Это потенциально не полезно для ОП. Он даже не понимал, как работает массив, и вы придумываете сложный класс «Stream» и т. Д. IMHO, OP должны сначала изучить основы, поэтому ответ должен заключаться в том, как писать цикл 'for'. –

+0

@Thomas Кажется, что ОП нашел это полезным. – Eran

+1

Конечно, это помогло ему получить его код, но он все еще не понимает, почему. –

-1

Да, то, что вы упомянули, возможно. Но позже, если вы планируете добавить к массиву дополнительные объекты GuiClass, то лучше переопределить метод toString() в GuiClass, так что вам не обязательно всегда использовать имена переменных (т. Е. «Marek», «peter», tomas "," julo "и т. д.) как значения в массиве. Вместо этого вы можете использовать что-то наподобие:

new String[] {marek.toString(), peter.toString(), someFutureVariable.toString(),... }; 

который более ремонтопригодный.

+0

Добро пожаловать на переполнение стека. Узнайте, как отформатировать код в ваших ответах. –

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