Buscar
Social
Ofertas laborales ES
« Play! framework 1.1 publicado | Main | Call for Papers para el Spring I/O Madrid 2011 »
jueves
nov042010

javatuples 1.0 liberado

javatuples es una librería Java que da soporte a tuplas. En ocasiones, uno necesita devolver varias cosas desde un método Java (una cadena de caracteres y un entero, por ejemplo). En este momento uno tiene dos opciones: usa una lista, y por lo tanto convierte el método en algo que realmente es no type-safe, o se crea una clase con dos campos: un entero y una cadena de caracteres, y devuelve una instancia de esa clase.

 

La segunda solución es bastante recurrida. Tanto Netbeans como Eclipse, por ejemplo, tienen dentro de su base de código clases en plan Tupla, para permitir devolver dos cosas desde un método.

 

 javatuples proporciona varias clases genéricas que permiten envolver desde 1 hasta 10 elementos. De este modo, se simplifica la tarea de devolver múltiples cosas desde un método. Las clases que proporciona son:

 

 

  • Unit<A> (1 element)
  • Pair<A,B> (2 elements)
  • Triplet<A,B,C> (3 elements)
  • Quartet<A,B,C,D> (4 elements)
  • Quintet<A,B,C,D,E> (5 elements)
  • Sextet<A,B,C,D,E,F> (6 elements)
  • Septet<A,B,C,D,E,F,G> (7 elements)
  • Octet<A,B,C,D,E,F,G,H> (8 elements)
  • Ennead<A,B,C,D,E,F,G,H,I> (9 elements)
  • Decade<A,B,C,D,E,F,G,H,I,J> (10 elements) 

 

 

Todas estas clases son typesafe, inmutables, serializables, interables, e implementan equals() y hashCode() y toString(). Con ellas podríamos definir un método como:

 

public Triplet getYearMonthDay() {
        ....
}

 

y devolver el día, el mes y el año de la fecha. Javatuples se distribuyen bajo licencia Apache.

 

¿Qué os parece esta librería? ¿El problema que está resolviendo es un problema que habéis encontrado en alguna ocasión? 

Reader Comments

There are no comments for this journal entry. To create a new comment, use the form below.
Comentarios deshabilitados
Comentarios deshabilitados en esta noticia.