NULL in Java

NULL in Java
Null non significa nulla e vuoto significa vuoto. Il vuoto è un tipo, mentre null è più un valore che un tipo nel suo utilizzo. In Java, Null non è scambiato con zero. Questo articolo spiega come Null viene utilizzato in Java.

Sensibilità al caso

Null è sensibile al caso. È nullo, e non nullo o nullo o nullo, ecc.

Classe e oggetto istanziato

Una classe è un insieme di variabili e metodi che funzionano insieme. Queste variabili sono chiamate campi (proprietà). Quando a questi campi vengono dati valori, l'unità risultante viene chiamata oggetto. Avere un oggetto da una classe è istanziare l'oggetto. Null può essere assegnato a un oggetto, ma zero non può essere assegnato. Il seguente programma Java si compila in un codice byte ed esegue senza alcun messaggio di errore:

class Cla
int prop;
int mtthd ()
restituzione prop;


class theclass
public static void main (string [] args)
Cla obj1 = new cla ();
Cla obj2 = null;

Il teclass è la classe per il metodo principale (). La classe di interesse qui è CLA. Si noti che OBJ2 ha preso null e non zero nel metodo principale ().

Cla OBJ2 = 0;

Nel metodo principale () avrebbe comportato un messaggio di errore.

sfumature null e zero con tipi primitivi

Java ha tipi di dati primitivi in ​​uso normale e ha tipi di classe di dati primitivi (wrapper). Ad esempio, il seguente codice è legittimo in Java:

int i = 5;
Intero i = 5;
doppio d = 6.6;
Doppio d = 6.6;

I è la normale dichiarazione di un tipo di numero intero primitivo, mentre sono la dichiarazione di un oggetto della classe intera. D è la normale dichiarazione di un doppio tipo primitivo, mentre D è la dichiarazione di un oggetto della doppia classe.

Ecco la sfumatura: prendo 0, mentre prendo null per lo stesso scopo; D prende 0, mentre D prende null per lo stesso scopo. Il seguente programma Java si compila in un codice byte ed esegue senza alcun messaggio di errore:

class theclass
public static void main (string [] args)
int i = 0;
Intero i = null;
doppia d = 0.0;
Doppio d = null;

Il seguente codice comporterebbe due messaggi di errore da parte del compilatore:

int i = null;
Intero i = 0;
doppio d = null;
Doppia d = 0.0;

Io e d posso prendere 0 o null come valore, come dovrebbero. Tuttavia, io e D non posso prendere null come valore, che è la vera sfumatura, e la causa dei due messaggi di errore.

L'istanza dell'operatore

L'istanza del operatore restituisce vero se l'oggetto è l'istanza (oggetto istanziato) di una particolare classe. La sintassi è:

istanza dell'oggetto della classe

L'output del seguente programma è vero:

class Cla
int prop;
int mtthd ()
restituzione prop;


class theclass
public static void main (string [] args)
Cla obj = new cla ();
booleano bl = obj istanza di CLA;
Sistema.fuori.println (bl);

Se Null è stato assegnato a OBJ come segue:

Cla obj = null;

L'output sarebbe stato falso.

Zero non è nullo in java

Il seguente programma non si compila perché zero è di tipo int, mentre null è di tipo:

class theclass
public static void main (string [] args)
if (0 == null)
Sistema.fuori.println ("zero può essere nullo.");

Zero non può essere nullo in java.

Tipi di tipi e valori

Esistono due tipi di tipi in Java: il tipo primitivo e il tipo di riferimento. I tipi primitivi sono booleani, int, doppi e le loro varianti. Questi hanno i loro valori. Esistono quattro tipi di tipi di riferimento: tipi di classe, tipi di interfaccia, variabili di tipo e tipi di array. Anche questi hanno i loro valori. Null è un tipo il cui unico valore è null. Il seguente programma illustra come dichiarare un tipo e un valore INT primitivi:

class theclass
public static void main (string [] args)
int i = 5;
Sistema.fuori.println (i);

L'output è 5. Il tipo null non può essere dichiarato in modo simile. Null viene normalmente usato come valore e non nella dichiarazione di tipo. Questo è,

null i = null;

non è possibile.

Nota: il nome di un oggetto istanziato è un riferimento.

Classi primitive e null

Integer, a cominciare con la maiuscola I, è la classe primitiva del tipo int. Doppio, a partire da maiuscolo D, è la classe primitiva del doppio tipo. Booleano, che inizia con la maiuscolo B, è la classe primitiva del tipo booleano. Questi tipi di classe richiederebbero null o zero, mentre i loro tipi primitivi equivalenti richiederebbero solo zero. Il seguente programma illustra questo:

class theclass
public static void main (string [] args)
Intero a = 0;
Intero b = null;
int c = 0;
Doppia d = 0.0;
Doppio e = null;
doppio f = 0;
Booleano G = false;
Booleano h = null;
booleano i = false;

Il programma si compila senza alcun problema. Nota: né booleano né booleano ne prende 0 per false.

null, stampato come null

Altrettanto vero e falso sono stampati a parole, Null è anche stampato come una parola in Java. Il seguente programma illustra questo:

class theclass
public static void main (string [] args)
Booleano a = false;
Booleano b = vero;
Booleano c = null;
Sistema.fuori.println (a);
Sistema.fuori.println (b);
Sistema.fuori.println (c);

L'output è:

falso
VERO
nullo

NULL come valore dell'array

null può essere usato come valore in un array se i valori sono di un tipo di classe. Il seguente programma illustra questo:

class theclass
public static void main (string [] args)
String [] str = "one", null, "due", null, "tre";
Sistema.fuori.println (str [0]+"+str [1]+"+str [2]+"+str [3]+"+str [4]);

L'output è:

un null due nulli tre

Si noti che null come elemento non è tra le citazioni. Qui, String è una classe. Viene importato per impostazione predefinita. Non deve essere importato manualmente.

L'intero array è un oggetto. Quindi Null può essere assegnato a un nome di array. Il seguente programma illustra questo:

class theclass
public static void main (string [] args)
String [] str = null;
Sistema.fuori.println (str);

L'output è: null.

Conclusione

Quando si tratta di tipi primitivi, assegnare zero alla variabile quando è necessario. Quando si tratta di tipi di classe, è possibile assegnare zero o null a seconda del contesto. Né booleano né booleano ne prende 0 per false. In Java, zero e null non sono intercambiabili.