Var en Java: El atajo que todo programador debe conocer

Contenido del Bootcamp Dirigido por: | Última modificación: 19 de septiembre de 2024 | Tiempo de Lectura: 4 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

Java 10 trajo consigo un pequeño cambio que le ha permitido a los desarrolladores disminuir la cantidad de código repetido y hacerlo más legible. Con Var en Java, el manejo de las variables se volvió más simple y directo. Si quieres si saber más, sigue leyendo porque descubrirás más sobre este atajo tan potente en Java.

qué es Var en Java

¿Qué es var en Java?

La palabra clave var te permite simplificar tu código, ya que le dice al compilador de Java que deduzca automáticamente el tipo de una variable cuando la estás inicializando. ¿Qué quiere decir esto? Pues que ya no debes especificar el tipo de dato manualmente porque Java lo adivinará por ti. De esta manera, trabajar con variables locales se volvió mucho más fácil, ya que reduces la repetición y tu código se vuelve más comprensible y fácil de leer.

Por ejemplo, en lugar de declarar el tipo completo de una variable:

Map<String, Integer> contadorPalabras = new HashMap<>();

Puedes simplificarlo con var:

var contadorPalabras = new HashMap<String, Integer>();

El compilador de Java sabe que contadorPalabras es un HashMap<String, Integer>, y esto es lo que vuelve el código más conciso y sencillo de leer.

¿Cómo funciona var en Java?

Lo que sucede al usar Var en Java es que, el compilador adivina el tipo de dato basándose en el valor que tú le asignas a la variable. Esto es comúnmente conocido como inferencia de tipos, y solo sucede mientras el código se está compilando, no mientras se ejecuta. Cuando ya el compilador determina el tipo, lo deja fijado para esa variable.

Es importante que sepas que var solo se puede usar para variables locales, es decir, dentro de métodos, bucles o bloques de código. No puedes usar var en Java para declarar campos de clase ni como parámetros de métodos.

Te dejo este ejemplo donde declaramos varias variables de tipos distintos usando var en Java:

public class EjemploVar {
public static void main(String[] args) {
var mensaje = "Hola, Mundo"; // Inferido como String
var numero = 42; // Inferido como int
var decimal = 3.14; // Inferido como double
var esVerdadero = true; // Inferido como boolean

System.out.println("Mensaje: " + mensaje);
System.out.println("Número: " + numero);
System.out.println("Decimal: " + decimal);
System.out.println("Es verdadero: " + esVerdadero);
}
}

Como puedes observar, el compilador infiere los tipos String, int, double, y boolean a partir de los valores asignados, simplificando el código sin necesidad de declarar los tipos explícitamente.

Ejemplo práctico con var

Vas a suponer que tienes que procesar una lista de empleados, y necesitas calcular el promedio de sus edades. Con var, puedes escribir un código más limpio y directo de esta forma:

import java.util.List;

public class EjemploVarEmpleado {
public static void main(String[] args) {
var empleados = List.of(
new Empleado("Carlos", 30),
new Empleado("Ana", 28),
new Empleado("Pedro", 35)
);

var sumaEdades = 0;
for (var empleado : empleados) {
sumaEdades += empleado.getEdad();
}

var promedioEdad = sumaEdades / empleados.size();
System.out.println("Promedio de edad: " + promedioEdad);
}
}

class Empleado {
private String nombre;
private int edad;

public Empleado(String nombre, int edad) {
this.nombre = nombre;
this.edad = edad;
}

public int getEdad() {
return edad;
}
}

Lo que hicimos fue declarar la lista de empleados y calcular el promedio de edad con var, así el código quedó más claro y menos redundante.

¿Cuándo usar y cuándo no usar var en Java?

Debes tener cuidado porque var no siempre será la mejor opción. Por eso, te dejo unos ejemplos de aquellas situaciones en las que te recomiendo usarlo y en las que es mejor que lo evites:

Cuándo usar var en Java:

  • Tipos obvios: Cuando el tipo de la variable es fácil de deducir a partir de la asignación, var es perfecto. Por ejemplo, cuando trabajas con listas o mapas:
var listaDeNombres = new ArrayList<String>();
  • En bucles: Var es ideal cuando se usa en bucles, ya que reduce la repetición al declarar el tipo de la variable del iterador.
for (var nombre : listaDeNombres) { 
      System.out.println(nombre); 
}
  • Cuando el tipo es irrelevante: Si el tipo de la variable no es crucial para entender el código, como cuando estás llamando a un método que devuelve un tipo bien definido, var simplifica las cosas:
var resultado = metodoQueDevuelveEntero();

    Cuándo evitar el uso de var:

    • Cuando el tipo no es evidente: Si el tipo de la variable no es claro solo con la asignación, es mejor declarar el tipo explícitamente para evitar confusiones. Por ejemplo:
    var resultado = calcularAlgo(); // ¿Qué tipo es "resultado"?
    • Variables de clase y parámetros de métodos: Var no puede usarse en estos casos, por lo que aún tendrás que declarar el tipo completo.

      Mantener tu código limpio y eficiente no tiene precio, por eso Var en Java es un recurso tan popular y utilizado por muchos programadores. Simplemente asegúrate de usarlo con moderación y solo en aquellos escenarios donde el tipo de la variable sea evidente, así no sacrificarás la calidad de tu código.

      Como estás tan interesado en dominar estas herramientas, te ofrecemos el Bootcamp Java Full Stack creado por KeepCoding. Con este programa aprenderás a programar como nunca antes, te prepararás para cambiar tu vida profesional y accederás a un sector con alta demanda de profesionales, excelentes salarios y estabilidad laboral. ¡No dejes pasar esta oportunidad de transformar tu carrera!

      Posts más leídos

      ¡CONVOCATORIA ABIERTA!

      Java y Spring Boot

      Full Stack Bootcamp

      Clases en Directo | Profesores en Activo | Temario 100% actualizado