Pergunta

Eu estou surpreso que o Apache Commons Collections projeto ainda não tem em torno de tomada de seus genéricos com reconhecimento de biblioteca. Eu realmente gosto os recursos fornecidos por esta biblioteca, mas a falta de apoio para genéricos é um grande turn-off. Há um Lavalabs fork do Commons Collections que não genéricos de apoio , o que parece reclamar compatibilidade com versões anteriores, mas quando eu tentei atualizar para esta versão, a minha aplicação web falhou ao iniciar (em JBoss).

As minhas perguntas são:

  • Se alguém tiver atualizado com sucesso a partir Commons Collections ao garfo mencionado acima
  • Se Commons Collections tem quaisquer planos para adicionar suporte para genéricos

BTW, eu estou ciente de coleções do Google, mas estou relutante em usá-lo até que as estabiliza API.

Cheers, Don

Foi útil?

Solução

Existem contribuições. Caixa do jira 's

Há também um JDK5 ramo .

Nós fazemos gostaria de adicionar os genéricos e atualizar Commons Collections a 1,5 (e 1.6). O maior problema é a forma de compatibilidade endereço para trás. E as pessoas têm opiniões muito diferentes lá. Para alguns dos componentes Commons mais recente JDK quase pede uma reescrita para o novo JDKs IMHO.

Durante ApacheCon senti o desejo através de várias pessoas para obter esse movimento embora. É apenas uma grande tarefa.

Sinta-se livre para aparecer na dev@commons.apache.org

elogios, Torsten

Outras dicas

Google Collections . De sua Javalobby entrevista :

[Google Collections é] construído com Java 5 características: os genéricos, enumerações, tipos de retorno covariantes, etc. Ao escrever Java 5 código, você quer uma biblioteca de coleções que tira o máximo partido da língua. Além disso, colocamos enorme esforço em tornar a biblioteca completa, robusta e consistente com as classes de coleção do JDK.

Tendo em conta que a última palavra na própria interna de Jacarta debate foi em 07 de dezembro, eu diria que o Apache não irá abraçar os genéricos, deixando o campo aberto para algo java5 amigável como Google Collections .

Eu digo, morder a bala e mudar para o Google-coleções, pelo menos para o novo código.

Eu sei que você está preocupado com a estabilidade, mas a biblioteca do Google-coleções está muito perto de estável para versão 1.0 - sair na lista dev ou assistir seus problemas relatados, eles já são muito, muito cauteloso sobre as mudanças, especialmente aqueles de quebra. Eventuais incompatibilidades entre a versão atual e (aparentemente iminente) 1.0 final, vão ser extremamente pequeno.

Além disso, se você está preocupado com a estabilidade, escolher uma versão (por exemplo, o atual, 1.0 RC4), e ... apenas não atualizar. Claro, você não terá nenhuma novos recursos, mas commons-coleções não foi atualizado de forma significativa em vários anos , então você está realmente em situação pior? Pelo menos você está congelado em algo com os genéricos e (IMHO) um muito melhor API.

O problema geral BC é que org.apache.commons.collections pacote foi renomeado para org.apache.commons.collections15. Eu não sei a razão dessa mudança. Tente renomeá-lo de volta, recompilar a biblioteca e executar o aplicativo novamente.

Eu encontrei este problema usando Clirr ferramenta em commons-collections-3.2.1.jar (do Apache) e collections-generic-4.01.jar (de Lavalabs).

Eu não posso imaginar o que razão você pode ter para não usar o Google coleções. É muito simples de usar essa biblioteca.

Para o meu trabalho eu uso ambos, apache coleções e google coleções.

Você pode explicar mais sobre por que você não pode usar o Google coleções?

relação

Há uma porta genericised de Commons Collections 3,1 disponível aqui , que temos vindo a utilizar para alguns anos. Faz o trabalho muito bem, e uma vez que ele é baseado estritamente na fonte Commons existente, ele tem uma API estável.

Ele poderia utilizar a actualização em conformidade com Commons Collections 3.2, no entanto.

Ter uma leitura no blog coleção, que proporcionam a compreensão completa do quadro de recolha. http://tech.konnectingtheworld.com/2010/09/ a-note-on-java-coleções /

Se você sentir que você consulta não foi respondida, entre em contato comigo. Vou tentar fornecer-lhe as informações, tanto quanto eu puder.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top