Sir Zu Zwat Skrevet 6. november 2009 Del Skrevet 6. november 2009 Heisann! Driver å lager ett skiheis program. Jeg har en array med 100 elementer. Disse elemente består av skikort av typen dagskort, årskort og klippekort. Når dagskortene/årskortene er utgått og klippekortene er tomme settes gyldig() på disse til false. Jeg har en metode som søker gjennom arrayen og fjerner disse: public void fjernUgyldigeKort() { for( int i = 0; i < kortArray.length; i++) { if( !(kortArray[i].gyldig()) && kortArray[i] == null ) kortArray[i] = null; } } ... men den gir meg en java.lang.NullPointerException. Jeg tenkte det kunne være fordi jeg prøver å sette ett element som allerede er null til null, men jeg satt inn && kortArray[i] == null så det kan ikke være problemet. Noen som vet? Lenke til kommentar
footnote Skrevet 6. november 2009 Del Skrevet 6. november 2009 kortArray.gyldig() testes før du sjekker om verdien er null. Du må først sjekke om kortArray er null, før du sjekker om klippet er gyldig if ( (kortArray != null) && !kortArray.gyldig() ) hvis kortArray nå er null, vil ikke metoden gyldig() bli kalt på grunn av AND sjekken Lenke til kommentar
Sir Zu Zwat Skrevet 6. november 2009 Forfatter Del Skrevet 6. november 2009 Aha, stemmer. Takk skal du ha. Rota meg litt vekk og skreiv == null istedenfor != null. Lenke til kommentar
Mapster Skrevet 8. november 2009 Del Skrevet 8. november 2009 Hvorfor iterere gjennom listen i etterkant, og bruke n-tid på dette? Hvorfor ikke bare sette de til null der hvor de settes til ugyldig? 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å