13

驚いたことに、Apache Commons Collectionsプロジェクトはまだライブラリをジェネリックに対応させていません。このライブラリが提供する機能はとても気に入っていますが、ジェネリックがサポートされていないことが大きな欠点です。Generics をサポートする Commons Collections の Lavalabs フォークがありますが、これは下位互換性を主張しているようですが、このバージョンに更新しようとすると、Web アプリケーションが (JBoss で) 起動できませんでした。

私の質問は次のとおりです。

  • 誰かが Commons Collections から上記のフォークに正常に更新したかどうか
  • Commons Collections がジェネリックのサポートを追加する計画がある場合

ところで、私は Google のコレクションを認識していますが、API が安定するまで使用することに消極的です。

乾杯、ドン

4

8 に答える 8

9

Google コレクションを検討してください。Javalobby のインタビューから:

[Google コレクションは] Java 5 の機能で構築されています: ジェネリック、列挙型、共変の戻り値の型など。Java 5 コードを記述するときは、言語を最大限に活用するコレクション ライブラリが必要です。さらに、ライブラリを完全かつ堅牢にし、JDK コレクション クラスとの一貫性を保つために多大な努力を払いました。

于 2008-11-28T02:21:04.260 に答える
8

貢献があります。jiraをチェックアウトする

JDK5ブランチもあります。

ジェネリックスを追加し、Commons Collectionsを1.5(および1.6)に更新したいと思います。最大の問題は、下位互換性にどのように対処するかです。そして、人々はそこで非常に異なる意見を持っています。一部のCommonsコンポーネントでは、新しいJDKが新しいJDKIMHOの書き直しをほぼ要求します。

ApacheConの間、私はこれを動かしたいという衝動を何人かの人々に感じました。それはただの大きな仕事です。

dev@commons.apache.orgに気軽に参加してください

乾杯、トルステン

于 2008-11-17T18:46:50.657 に答える
6

Jakarta 自身の内部 討論の最後の言葉が 2007 年 12 月だったことを考えると、Apache はジェネリックを採用せず、 Google Collectionsのような Java5 に適した何かのためにフィールドが開かれていると言えます。

于 2008-11-17T16:50:48.253 に答える
1

少なくとも新しいコードについては、弾丸をかじってgoogle-collectionsに切り替えてください。

あなたが安定性について懸念していることは承知していますが、google-collections ライブラリは 1.0 リリースの安定版に非常に近づいています。開発者リストに参加するか、報告された問題を確認してください。変更、特に破壊的なものについては、すでに非常に慎重になっています。現在のリリースと (差し迫っているように見える) 1.0 最終版との間の非互換性は、非常に小さいものになります。

また、安定性が心配な場合は、バージョン (たとえば、現在のもの、1.0 RC4) を選択してください。アップグレードしないでください。確かに、新しい機能は何も得られませんが、commons-collections は数年間意味のある方法で更新されていません。少なくとも、ジェネリックと(IMHO)はるかに優れたAPIを使用して何かに固執しています。

于 2009-12-09T09:52:22.220 に答える
1

一般的な BC の問題は、パッケージの名前org.apache.commons.collectionsが に変更されたこと org.apache.commons.collections15です。この変更の理由はわかりません。名前を元に戻し、ライブラリを再コンパイルして、アプリケーションを再度実行してください。

(Apache から) および(Lavalabs から) でClirrツールを使用してこの問題を発見しました。commons-collections-3.2.1.jarcollections-generic-4.01.jar

于 2011-01-10T13:18:42.763 に答える
0

コレクションブログを読んでください。コレクションフレームワークの完全な理解が得られます。 http://tech.konnectingtheworld.com/2010/09/a-note-on-java-collections/

質問に対する回答が得られていないと思われる場合は、私に連絡してください。できる限り情報を提供するように努めます。

于 2010-10-03T16:44:13.440 に答える
0

Googleコレクションを使用しない理由が何であるか想像できません。そのライブラリを使用するのは非常に簡単です。

私の仕事では、Apache コレクションと Google コレクションの両方を使用しています。

Google コレクションを使用できない理由について詳しく説明できますか?

よろしく

于 2008-11-19T00:47:08.227 に答える
0

Commons Collections 3.1 の一般化された移植版がここで入手できます。これは数年前から使用されています。うまく機能し、既存の Commons ソースに厳密に基づいているため、安定した API を備えています。

ただし、更新を使用して Commons Collections 3.2 に準拠させることはできます。

于 2009-12-09T09:56:08.953 に答える