Nulo en Java

Nulo en Java
Nulo no significa nada, y nulo significa vacío. El vacío es un tipo, mientras que nulo es más un valor que un tipo en su uso. En Java, Null no se intercambia con cero. Este artículo explica cómo se usa nulo en Java.

Sensibilidad de casos

NULL es sensible a la caja. Es nulo, y no nulo o nulo o nulo, etc.

Clase y objeto instanciado

Una clase es un conjunto de variables y métodos que funcionan juntos. Estas variables se llaman campos (propiedades). Cuando estos campos tienen valores dados, la unidad resultante se llama objeto. Tener un objeto de una clase es instanciar el objeto. NULL se puede asignar a un objeto, pero cero no se puede asignar. El siguiente programa Java se compila en un código de byte y se ejecuta sin ningún mensaje de error:

clase CLA
int pro;
int mtthd ()
devolver el apoyo;


clase de clase
public static void main (string [] args)
Cla obj1 = new Cla ();
Cla obj2 = nulo;

La clase es la clase para el método main (). La clase de interés aquí es CLA. Tenga en cuenta que OBJ2 ha tomado nulo y no cero en el método principal ().

Cla obj2 = 0;

en el método main () habría resultado en un mensaje de error.

NULL y CERO NUANCE CON TIPOS PRIMITIVOS

Java tiene tipos de datos primitivos en uso normal y tiene tipos de clase de datos primitivos (envoltorio). Por ejemplo, el siguiente código es legítimo en Java:

int i = 5;
Entero i = 5;
doble d = 6.6;
Doble d = 6.6;

I es la declaración normal de un tipo entero primitivo, mientras que soy la declaración de un objeto de la clase entera. D es la declaración normal de un tipo doble primitivo, mientras que D es la declaración de un objeto de la clase doble.

Aquí está el matiz: tomo 0, mientras tomo nulo para el mismo propósito; D toma 0, mientras que D toma nulo para el mismo propósito. El siguiente programa Java se compila en un código de byte y se ejecuta sin ningún mensaje de error:

clase de clase
public static void main (string [] args)
int i = 0;
Entero i = nulo;
Doble D = 0.0;
Doble d = nulo;

El siguiente código daría lugar a dos mensajes de error por parte del compilador:

int i = null;
Entero i = 0;
doble d = nulo;
Doble D = 0.0;

I y D pueden tomar 0 o nulo como valor, como deberían. Sin embargo, I y D no pueden tomar nulas como valor, que es el verdadero matiz, y la causa de los dos mensajes de error.

La instancia del operador

La instancia del operador devuelve verdadero si el objeto es la instancia (objeto instanciado) de una clase en particular. La sintaxis es:

instancia de objeto de clase

La salida del siguiente programa es verdadero:

clase CLA
int pro;
int mtthd ()
devolver el apoyo;


clase de clase
public static void main (string [] args)
Cla obj = new Cla ();
booleano bl = obj instancia de CLA;
Sistema.afuera.println (bl);

Si NULL fue asignado a OBJ de la siguiente manera:

Cla obj = nulo;

La salida habría sido falsa.

Zero no es nulo en Java

El siguiente programa no se compila porque cero es de tipo int, mientras que nulo es de tipo,:

clase de clase
public static void main (string [] args)
if (0 == nulo)
Sistema.afuera.println ("cero puede ser nulo.");

Cero no puede ser nulo en Java.

Tipos de tipos y valores

Hay dos tipos de tipos en Java: el tipo primitivo y el tipo de referencia. Los tipos primitivos son booleanos, int, dobles y sus variantes. Estos tienen sus valores. Hay cuatro tipos de tipos de referencia: tipos de clases, tipos de interfaz, variables de tipo y tipos de matriz. Estos también tienen sus valores. Nulo es un tipo cuyo único valor es nulo. El siguiente programa ilustra cómo se puede declarar un tipo y un valor INT primitivo:

clase de clase
public static void main (string [] args)
int i = 5;
Sistema.afuera.println (i);

La salida es 5. El tipo nulo no se puede declarar de manera similar. NULL se usa normalmente como valor y no en la declaración de tipo. Eso es,

nulo i = nulo;

no es posible.

Nota: El nombre de un objeto instanciado es una referencia.

Clases primitivas y nulo

Entero, comenzando con la mayúscula I, es la clase primitiva del tipo int. Doble, comenzando con el mayúscula D, es la clase primitiva del tipo doble. Boolean, que comienza con el mayúscula B, es la clase primitiva del tipo booleano. Estos tipos de clases tomarían nulos o cero, mientras que sus tipos primitivos equivalentes tomarían cero solo. El siguiente programa ilustra esto:

clase de clase
public static void main (string [] args)
Entero a = 0;
Entero b = nulo;
int c = 0;
Doble D = 0.0;
Doble e = nulo;
doble f = 0;
Booleano g = falso;
Booleano h = nulo;
booleano i = falso;

El programa se compila sin ningún problema. Nota: Ni booleano ni booleano toma 0 por falso.

nulo, impreso como nulo

Así como verdadero y falso se imprimen en palabras, Null también se imprime como una palabra en Java. El siguiente programa ilustra esto:

clase de clase
public static void main (string [] args)
Booleano a = falso;
Booleano b = verdadero;
Booleano C = nulo;
Sistema.afuera.println (a);
Sistema.afuera.println (b);
Sistema.afuera.println (c);

La salida es:

FALSO
verdadero
nulo

nulo como valor de matriz

NULL se puede usar como un valor en una matriz si los valores son de un tipo de clase. El siguiente programa ilustra esto:

clase de clase
public static void main (string [] args)
String [] str = "one", nulo, "dos", nulo, "tres";
Sistema.afuera.println (str [0]+"+str [1]+"+str [2]+"+str [3]+"+str [4]);

La salida es:

uno nulo dos nulos tres

Tenga en cuenta que NULL como elemento no está en citas. Aquí, la cadena es una clase. Se importa por defecto. No tiene que importarse manualmente.

Toda la matriz es un objeto. Entonces NULL se puede asignar a un nombre de matriz. El siguiente programa ilustra esto:

clase de clase
public static void main (string [] args)
Cadena [] str = null;
Sistema.afuera.println (str);

La salida es: nulo.

Conclusión

Al tratar con tipos primitivos, asigne cero a la variable cuando tenga que. Al tratar con los tipos de clase, puede asignar cero o nulo dependiendo del contexto. Ni booleano ni booleano toma 0 por falso. En Java, cero y nulo no son intercambiables.