Java7: null-safe y null-default

1 minuto de lectura

Seguramente les ha pasado y mucho que tienen que llenarse de validaciones contra NullPointerException cuando los métodos retornan null, hay una propuesta para poder manejar este tipo de problemas. Veamos uno ejemplos:

Null-Default

Hoy en dia:

String maybeNull = metodoNull();

if (null == maybeNull) {
    maybeNull="Ahora no es null";
}

// Otra Opcion

String nullVar = metodoNull();
nullVar = (nullVar != null ? nullVar : "Ahora no es null");

Ahora la propuesta es la siguiente:

String maybeNull = metodoMaybeNull();
maybeNull =  maybeNull ?: "Ahora no es null";

Como verán nos ahorramos unas cuantas líneas de código. Ahora veamos el otro esquema

Null-safe

Hoy en dia:

String result = null;
Foo foo = getFooMayBeNull();
if (foo != null) {
  Bar bar = foo.getBarMayBeNull();
  if (bar != null) {
    result = bar.getResult();
  }
}

Con la propuesta de null-safe quedaría así:

String result = getFooMayBeNull()?.getBarMayBeNull()?.getResult();

Esto hasta el dia de hoy seguía en propuesta y por lo que veo en las Características de Java7 no viene, así que a esperar. (Estoy bajando el jdk7 para probar, luego updates)

Estas modificaciones al lenguaje (sintaxis) vienen de los operadores que tiene Goovy.

Más información sobre esta propuesta de mejora al lenguaje en:

Etiquetas: ,

Categorías:

Actualizado:

Comentar