Skip to content

Var en Java: cuando usarlo y cuando no usarlo

var fue introducido en Java 10. Con var puedes mejorar legibilidad de tu código para otros desarrolladores. Por otro lado, var no es una palabra clave estrictamente. En este artículo aprendes, donde podemos usar var en Java y donde no podemos usar esta construcción.

Los casos de uso

En primero, hay algunos casos de uso de var en Java

Definir los variables locales

Ante todo, podemos usar var para definir los variables locales. Considere el siguiente fragmento de código:

String name = "Anna";
JsonObject data = new JsonObject("{'name':'bob','age':25}");

Porque sabemos los tipos de datos de ambas objetos, podemos cambiar nuestro fragmento de código con var:

var name = "Anna";
var data = new JsonObject("{'name':'bob','age':25}");

Por otro lado, tenemos que definir los variables locales, cuando los declaramos. En otras palabras, este código es inválido:

var foo;
foo = "bar";

También, podemos usar var para mejorar una legibilidad de código en otros casos. Por ejemplo, podemos definir ArrayList con var. Esto es porque sabemos cual tipo de datos ArrayList va a volver. Por otro lado, no podemos usar var con Array, porque tenemos que definir el tipo de datos de Array (por ejemplo, exacto etc.):

//SI
var names = List.of("Anna","Bob","Charlie","Diana");

//NO
var numbers = {1,2,3,4};

Entonces, var puede ayudarnos significativamente y reducir complejidad de código y mejorar una legibilidad para otros programadores. Pero, hay algunos casos, cuando no podemos usarlo.

En el bucle “for”

Imagina que tienes un ArrayList de objetos. Por ejemplo, un ArrayList de nombres. Necesitas pasar por este ArrayList y hacer algunas operaciones con cada nombre:

String names = List.of("Anna","Bob","Charlie","Diana");
for (String name:names){
	//...
}

Podemos rehacer este código con var para incrementar su legibilidad:

String names = List.of("Anna","Bob","Charlie","Diana");
for (var name:names){
	//...
}

En TRY CON RECURSOS

Este caso de uso es mi favorito. Usamos try-with-resources para cerrar recursos. Por ejemplo, cuando creamos java.sql.Connection, podemos cerrarlo después de usarlo:

try (var connection = dataSource.getConnection()){
	///
} catch (SQLException ex){
	///
}

Cuando no podemos usar Var en Java

Por otro lado, hay algunos casos cuando no podemos usar var.

Los argumentos de métodos

Tenemos que definir los tipos de argumentos en método exactamente. Entonces el siguiente fragmento de código no es válido:

int add (var a, var b){
	///
}

Null

Tampoco podemos asignar null a var:

var value = null;

Tenemos que asignar un valor exacto a var:

var value = "foo";

Lambda

Finalmente, no podemos usar var con lambda funciones. Tenemos que disponer el exacto tipo de dato.

var result = ()->{
	//...
};

La conclusión

En este pequeño articulo observamos var, que fue introducido en Java 10. Con var puedes mejorar legibilidad de tu código para otros programadores. Pero por otro lado hay algunos casos cuando no podemos usar var.

Copy link
Powered by Social Snap