Avatar billede mik28 Seniormester
31. oktober 2007 - 12:21 Der er 2 kommentarer og
1 løsning

fylde et array med objekter

Hejsa,

Min kode ser således ud.

Minklasse m = new Minklasse();
          m.setId(123);

Minklasse[] ma = {m};

Er der en smartere måde at gøre det på. Jeg tænker på noget i den her stil

Minklasse[] ma = {new Minklasse().m.setId(123),new Minklasse().m.setId(321),new Minklasse().m.setId(333)};
Avatar billede mikkelbm Nybegynder
31. oktober 2007 - 13:04 #1
Ja, der er en smartere måde. Lad din "MinKlasse" tage id'et med i sin constructor - så er du fri for at kalde en metode.

Det sidste du prøver kan ikke lade sig gøre.

Men hvis du laver det om så MinKlasse tager et id i constructoren vil det blive til:

Minklasse[] ma = {new Minklasse(123),new Minklasse(321),new Minklasse(333)};
Avatar billede jakoba Nybegynder
31. oktober 2007 - 16:37 #2
Han kunne wel egentlig oå gøre det på sin egen måde, whis blot han sørgede for at metoden setId returnerede objektet.
eg
  public Minklasse setId( int id ) {
      this.id = id;
      return this;
  }//endmethod setid.

Nu er
Minklasse[] ma = { (new Minklasse()).setId(123),
                      (new Minklasse()).setId(321),
                      (new Minklasse()).setId(333)};

en helt ok constructor for arrayet.

Men jeg ville definitivt også selv gøre som mikkelbm ;-))
Avatar billede jens426 Nybegynder
17. november 2007 - 11:49 #3
Minklasse m1 = new Minklasse();
Minklasse m2 = new Minklasse();
m1.setId(123);
m2.setId(123);

ArrayList<Minklasse> test = new ArrayList<Minklasse>();
    test.add(m1);
    test.add(m2);
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester