Resuelva el error Int Cannot Be Dereferenced en Java

Muhammad Zeeshan 12 octubre 2023
  1. Desreferenciación en Java
  2. Causa de int no se puede desreferenciar en Java
  3. Resolver el error int no puede ser desreferenciado en Java
Resuelva el error Int Cannot Be Dereferenced en Java

En este artículo, discutiremos la causa de la excepción de Java int can be dereferenced y cómo solucionarlo. Primero, eche un vistazo a lo que es la desreferenciación en Java.

Desreferenciación en Java

Las variables primitivas y de objeto son los dos tipos de variables que se pueden usar en Java. Sin embargo, solo las variables de objeto pueden ser tipos de referencia. El tipo de datos int es una primitiva en lugar de un objeto.

Acceder al valor al que apunta una referencia es lo que se conoce como desreferenciación. Es imposible desreferenciar a int porque ya es un valor y no es una referencia a nada más.

Causa de int no se puede desreferenciar en Java

  1. Una referencia en Java es una dirección que apunta a un objeto o variable específica. El término desreferenciación se refiere a obtener las propiedades de un objeto a través de una referencia.
  2. Si intenta realizar cualquier desreferenciación en una primitiva, como en el ejemplo siguiente, recibirá el error Z no se puede desreferenciar, donde Z es un tipo considerado primitivo.
  3. La causa de esto es que las primitivas no son lo mismo que los objetos; en cambio, son representaciones de valor bruto.

Resolver el error int no puede ser desreferenciado en Java

Entendamos que int no se puede desreferenciar y descubramos cómo solucionarlo con la ayuda del siguiente ejemplo:

Ejemplo:

public class Main {
  public static void main(String[] args) {
    int Z = 8;
    System.out.println(Z.equals(8));
  }
}

En primer lugar, creamos la clase Main y comparamos un int con un valor elegido al azar. Z es uno de los ocho tipos de datos fundamentales de Java, incluidos int, byte, short, etc.

Veremos el siguiente error cuando intentemos compilar el código:

Main.java:5: error: int cannot be dereferenced
System.out.println(Z.equals(8));
                    ^
1 error

En nuestro caso, necesitamos determinar si los dos valores son iguales o no. Resolver nuestro problema es utilizar la notación == en lugar de la función equals() para tipos primitivos:

public class Main {
  public static void main(String[] args) {
    int Z = 8;
    System.out.println(Z == 8);
  }
}

El siguiente resultado se imprimirá cuando compilemos el código:

true
Muhammad Zeeshan avatar Muhammad Zeeshan avatar

I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.

LinkedIn

Artículo relacionado - Java Error