martes, 12 de abril de 2011

java.util.Objects la nueva librería de java 7!


La verdad es que mucho no me gusta (sera resistencia al cambio), yo pienso que le roba trabajo a los objetos, para mi debería estar esta funcionalidad en Object o de otra forma, no lo se.

Más allá de mi humilde opinión era necesaria, siempre teníamos que escribir un util que haga cosas que hora hace esta librería.

Veamos unos ejemplos:


public void showFoo(Foo foo) { Foo foo2 = new Foo();

//lot of code

if(foo.equals(foo2)) {
System.out.println("Two Men");
} else {
System.out.println("And a Half");
}
}



Esto puede dar NullPointer veamos como lo resolvemos con Objects:

public void showFoo(Foo foo) {

Foo foo2 = new Foo();

//lot of code

if(Objects.equals(foo,foo2)) {
System.out.println("Two Men");
} else {
System.out.println("And a Half");
}
}



Podemos hacer el hash con Objects, que sera de org.apache.commons.lang.builder.HashCodeBuilder

@Override public int hashCode() {
return Objects.hash(name, age, job);
}



Podemos chequear que un objeto no sea null

public void showFoo(Foo foo) {
this.bar = Objects.requireNonNull(foo);
}



Podemos tomar tomar el toString si no es nulo, y de lo contrario devolver un valor:

return Objects.toString(foo, “Foo is Empty”);


Interesante no? que les parece la nueva librería?

Fuente: http://alexsotob.blogspot.com/2011/04/another-shot-of-whiskey-cant-stop.html