Sobes.tech
Junior — Middle

Explique el concepto de tipos de referencia en el lenguaje Java y en qué se diferencian de los tipos primitivos.

sobes.tech AI

Respuesta de la IA

En Java, existen dos tipos principales de datos: primitivos y de referencia.

Tipos primitivos (por ejemplo, int, boolean, double) almacenan directamente los valores. Ocupan un tamaño fijo en memoria y se pasan por valor. Por ejemplo, al asignar una variable a otra, se copia el valor mismo.

Tipos de referencia son objetos y arreglos. Una variable de tipo de referencia almacena no el valor del objeto en sí, sino una referencia (dirección) a la zona de memoria donde se encuentra el objeto. Al asignar una variable de referencia a otra, se copia la referencia, no el objeto. Esto significa que ambas variables apuntarán al mismo objeto.

Ejemplo:

int a = 5;
int b = a; // se copia el valor 5
b = 10; // a seguirá siendo 5

String s1 = new String("hello");
String s2 = s1; // se copia la referencia al objeto
s2 = "world"; // s1 seguirá siendo "hello", ya que String es inmutable

Por lo tanto, la principal diferencia es la forma de almacenamiento y transmisión de datos: los primitivos almacenan los valores directamente, mientras que los tipos de referencia almacenan referencias a objetos en memoria.