Comprobar si un objeto es nulo en Java

Rupam Yadav 12 octubre 2023
  1. Java comprueba si el objeto es nulo usando el operador ==
  2. Java Comprueba si el objeto es nulo usando java.utils.Objects
Comprobar si un objeto es nulo en Java

Este tutorial repasará los métodos para comprobar si un objeto es nulo en Java con algunos ejemplos brevemente explicados.

Java comprueba si el objeto es nulo usando el operador ==

Como ejemplo, hemos creado dos clases: User1 y User2. La clase User1 tiene una variable de instancia name y los métodos Getter y Setter para actualizar y recuperar la variable de instancia name. La clase User2 tiene un método, getUser1Object, que devuelve la instancia de la clase User1.

En el método main, creamos un objeto de la clase User2 llamado user y llamamos al getUser1Object() en él, que devuelve la instancia de la clase User1. Ahora comprobamos si la instancia de la clase User1 devuelta por el método es nula o no usando el operador == en la condición if-else.

Si el objeto devuelto no es null, podemos establecer el name en la clase User1 llamando al método setter de la clase y pasándole una cadena personalizada como parámetro.

public class JavaCheckNullObject {
  public static void main(String[] args) {
    User2 user;
    user = new User2();

    User1 getUserObject = user.getUser1Object();

    if (getUserObject == null) {
      System.out.println("Object is Null");
    } else {
      System.out.println("Not Null");

      getUserObject.setName("Sam");
      System.out.println(getUserObject.getName());
    }
  }
}

class User2 {
  User1 user;

  public User1 getUser1Object() {
    return user;
  }
}

class User1 {
  String name;

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }
}

Resultado:

Object is Null

Java Comprueba si el objeto es nulo usando java.utils.Objects

La clase java.utils.Objects tiene métodos de utilidad estáticos para operar un objeto. Uno de los métodos es isNull(), que devuelve un valor booleano si la referencia proporcionada es null, de lo contrario devuelve false.

Hemos creado dos clases - User1 y User2 como se muestra en el siguiente código. En el método main, creamos un objeto de la clase User2 usando la palabra clave new y llamamos al método getUser1Object(). Devuelve un objeto de la clase User1, que luego guardamos en getUser1Object.

Para comprobar si es nulo, llamamos al método isNull() y le pasamos el objeto getUserObject como parámetro. Devuelve true ya que el objeto pasado es null.

import java.util.Objects;

public class JavaCheckNullObject {
  public static void main(String[] args) {
    User2 user;
    user = new User2();

    User1 getUserObject = user.getUser1Object();

    if (Objects.isNull(getUserObject)) {
      System.out.println("Object is Null");
    } else {
      System.out.println("Not Null");

      getUserObject.setName("Sam");
      System.out.println(getUserObject.getName());
    }
  }
}
class User2 {
  User1 user;

  public User1 getUser1Object() {
    return user;
  }
}

class User1 {
  String name;

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }
}

Resultado:

Object is Null
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

Artículo relacionado - Java Object