beebop Skrevet 29. september 2006 Del Skrevet 29. september 2006 Hei Jeg har sett i flere kode eksempler at man ofte bruker new String[0], eller lignende. Jeg kan ikke helt skjønne hva dette gjør. Betyr det at man oppretter en String array som er 0 elementer lang? Hva er i så fall hensikten med dette? Håper noen har et godt svar på dette. Lenke til kommentar
pgdx Skrevet 29. september 2006 Del Skrevet 29. september 2006 Kan hende for å lage et dynamisk array du kan utvide med append? Se svar 2 av 3: http://forum.java.sun.com/thread.jspa?thre...772033&tstart=0 Lenke til kommentar
Patton Skrevet 29. september 2006 Del Skrevet 29. september 2006 (endret) new Object[0] blir ofte brukt for aa representere null-array. En grunn til dette er at man behoever ikke aa behandle null-array ekstra ved iterasjon: = new String[0] private String[] values = new String[0]; ... public void doStuff() { for (int i = 0; i < values.length; ++i) { processValues(values[i]); } } = null private String[] values; ... public void doStuff() { if (values != null) { for (int i = 0; i < values.length; ++i) { processValues(values[i]); } } } Poenget er at en array med lengde 0 kan i nesten alle tilfeller representere null objekt eller ingenting. Man sparer seg en sjekk etter null, og koden ser ryddigere ut. Edit: Tom mengde og null betyr i de fleste tilfeller det samme og maa behandles likt, man slipper aa sjekke for begge hvis man initialiserer med new String[0]. Man har da en og bare en representasjon for null mengde, som er etter min mening ryddigere kode. public void doStuff() { // Ikke saa elegant if (values == null || values.length == 0) { System.out.println("No values defined"); } } Endret 29. september 2006 av Patton Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå