I Java -programmering , " null " er en spesiell søkeord reservert for å referere til en variabel som , mens tildelt en variabel navn , refererer ikke egentlig til data i minnet. Alle variabler , inkludert strykere, har en verdi på null i tiden mellom deres opprettelse og når de er tildelt en verdi. En verdi på null kan også tildeles ved å skrive : " String s = null . " Imidlertid , i tilfelle av strenger , er det noen begrensninger . Instruksjoner
en
Åpne " NetBeans " eller noe annet Java Integrated Development Environment .
2
Klikk på "File " og " Ny klasse . " . Name it " . StringNullLesson "
3
Type " PSVM " for å lage en main metode
4
Legg til følgende kode til din viktigste metoden :
String t = null;
prøve {
t.charAt ( 0 ) ; " . ikke er null "
System.out.println (t + ) ;
} catch ( NullPointerException e ) {
System.out.println ( " t er null . ");
}
Dette skaper en streng og eksplisitt tildeler en verdi på null . Den forsøker å få tilgang til det første tegnet i strengen og skrive den ut . Det hele er omgitt av en " try-catch "-setning som bør kastes når Java innser at du prøver å gjøre noe med en nullverdi.
5
Klikk "Kjør". Du skal se en feilmelding som sier " t er null . "
6
Fjern linjen " t.charAt ( 0 ) ; " fra koden . Klikk "Kjør " igjen. Denne gangen vil du se motstridende budskap " null ikke er null . " Normalt, når du forsøker å gjøre noe med null, kompilatoren gjenstander og kaster en feil umiddelbart . Men , når Java ser du prøver å behandle null som om det var en streng, vil det gå med på det , og skaper en ny streng som inneholder ordet " null ". En øyeblikks tanke bør gjøre det klart hvorfor dette er: Hvis Java krasjet hver gang den prøvde å skrive ut verdien " null ", så å skrive en feil loggfil for din søknad ville være nesten umulig : feilloggen selv ville krasje hver gang en null pekeren ble oppdaget . Java antar at hvis du prøver å skrive ut " null ", så du prøver å rapportere feil , og det ikke kommer i veien.
7
Legg til følgende kode for å se etter en null String riktig : en
if ( t == null ) throw new NullPointerException ();