Pregunta

Estoy asombrado de que el proyecto Apache Commons Collections todavía no ha llegado a realizarse su biblioteca conoce los genéricos. Realmente me gustan las características proporcionadas por esta biblioteca, pero la falta de soporte para los genéricos es un gran apagón. Hay una bifurcación Lavalabs de Commons Collections que admite genéricos , que parece reclamar compatibilidad con versiones anteriores, pero cuando intenté actualizar a esta versión, mi aplicación web no pudo iniciarse (en JBoss).

Mis preguntas son:

  • Si alguien ha actualizado con éxito desde Commons Collections a la bifurcación mencionada anteriormente
  • Si Commons Collections tiene planes de agregar soporte para genéricos

Por cierto, conozco las colecciones de Google, pero soy reacio a usarlo hasta que la API se estabilice.

Saludos, Don

¿Fue útil?

Solución

Hay contribuciones. Consulte jira 's

También hay una rama JDK5 .

Nos gustaría agregar genéricos y actualizar Colecciones comunes a 1.5 (y 1.6). El mayor problema es cómo abordar la compatibilidad con versiones anteriores. Y las personas tienen opiniones muy diferentes allí. Para algunos de los componentes de Commons, el nuevo JDK casi pide una reescritura para los nuevos JDK en mi humilde opinión.

Durante ApacheCon sentí la necesidad de varias personas de poner esto en movimiento. Es solo una gran tarea.

Siéntase libre de aparecer en dev@commons.apache.org

aplausos, Torsten

Otros consejos

Considere Google Collections . De su entrevista Javalobby :

  

[Google Collections está] construido con características de Java 5: genéricos, enumeraciones, tipos de retorno covariantes, etc. Al escribir código Java 5, desea una biblioteca de colecciones que aproveche al máximo el lenguaje. Además, nos esforzamos enormemente para que la biblioteca sea completa, robusta y coherente con las clases de colección JDK.

Dado que la última palabra en la propia interno debate fue en 07 de diciembre, diría que Apache no aceptará genéricos, dejando el campo abierto para algo Compatible con Java5 como Google Collections .

Digo, muerde la viñeta y cambia a google-collections, al menos por un nuevo código.

Sé que estás preocupado por la estabilidad, pero la biblioteca de google-collections es MUY cercana a estable para la versión 1.0 - quedate en la lista de desarrolladores o mira sus problemas reportados, ya son muy cautelosos con los cambios, especialmente rompiendo los Cualquier incompatibilidad entre la versión actual y la versión (aparentemente inminente) 1.0 será extremadamente pequeña.

Además, si le preocupa la estabilidad, elija una versión (por ejemplo, la actual, 1.0 RC4) y ... simplemente no actualice. Claro, no obtendrá nuevas características, pero las colecciones comunes no se han actualizado de manera significativa en varios años , entonces, ¿está realmente peor? Al menos estás congelado en algo con genéricos y (en mi humilde opinión) una API mucho mejor.

El problema general de BC es que el paquete org.apache.commons.collections ha sido renombrado a org.apache.commons.collections15 . No sé la razón de este cambio. Intente cambiarle el nombre, vuelva a compilar la biblioteca y vuelva a ejecutar su aplicación.

He encontrado este problema usando la herramienta Clirr en commons-collections-3.2.1.jar (de Apache) y collections-generic-4.01.jar (de Lavalabs).

No puedo imaginar qué razón puede tener para no usar las colecciones de Google. Es bastante simple usar esa biblioteca.

Para mi trabajo utilizo tanto las colecciones de apache como las de google.

¿puedes explicar más sobre por qué no puedes usar las colecciones de google?

saludos

Hay un puerto genérico de Commons Collections 3.1 disponible aquí , que hemos estado utilizando durante algunos años ahora. Funciona bien y, dado que se basa estrictamente en la fuente de Commons existente, tiene una API estable.

Sin embargo, podría usar la actualización para cumplir con Commons Collections 3.2.

Lea el blog de la colección, proporciona la comprensión completa del marco de la colección. http://tech.konnectingtheworld.com/2010/09/ a-note-on-java-collections /

Si cree que su consulta no ha sido respondida, póngase en contacto conmigo. Intentaré proporcionarle la información tanto como pueda.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top