汎用コモンズコレクション
-
08-07-2019 - |
質問
Apache Commons Collections プロジェクトがまだ作成されていないことに驚いていますライブラリのジェネリックを認識します。このライブラリが提供する機能は本当に気に入っていますが、ジェネリックのサポートが不足していることは大きな失敗です。 ジェネリックをサポートするCommons CollectionsのLavalabsフォークがあります。これは後方互換性を主張しているようです。しかし、このバージョンに更新しようとしたときに、Webアプリケーションを(JBossで)起動できませんでした。
私の質問:
- Commons Collectionsから上記のフォークへの更新が成功したかどうか
- Commons Collectionsにジェネリックのサポートを追加する予定がある場合
ところで、Googleコレクションは知っていますが、APIが安定するまで使用することを嫌がります。
乾杯、 ドン
他のヒント
Googleコレクションを検討してください。 Javalobbyインタビューから:
[Googleコレクションは] Java 5の機能で構築されています:ジェネリック、列挙型、共変の戻り値の型など。Java5コードを記述するとき、言語を最大限に活用するコレクションライブラリが必要です。さらに、ライブラリをJDKコレクションクラスと完全で、堅牢で、一貫性のあるものにするために多大な努力を払いました。
ジャカルタ自身の最後の単語内部 debate は12月7日でした。Apacheはジェネリックを受け入れず、フィールドを何かに開放します GoogleコレクションのようなJava5フレンドリー。
少なくとも、新しいコードについては、弾丸を噛んでgoogle-collectionsに切り替えます。
安定性について心配していることは知っていますが、1.0リリースではgoogle-collectionsライブラリは非常に安定しています。破壊する。現在のリリースと(一見差し迫った)1.0ファイナルとの非互換性は非常に小さくなります。
また、安定性が心配な場合は、バージョン(たとえば、現在のバージョン、1.0 RC4)を選択し、...アップグレードしないでください。確かに、新しい機能はありませんが、commons-collectionsは数年で意味のある方法で更新されていないので、本当に悪化していますか?少なくとも、ジェネリックと(IMHO)はるかに優れたAPIを使用することに固執しています。
BCの一般的な問題は、パッケージ org.apache.commons.collections
が org.apache.commons.collections15
に名前が変更されたことです。この変更の理由はわかりません。名前を変更してライブラリを再コンパイルし、アプリケーションを再度実行してください。
commons-collections-3.2.1.jarで Clirr ツールを使用してこの問題を発見しました
(Apacheから)および collections-generic-4.01.jar
(Lavalabsから)。
Googleコレクションを使用しない理由を想像することはできません。そのライブラリを使用するのは非常に簡単です。
仕事では、apacheコレクションとgoogleコレクションの両方を使用します。
Googleコレクションを使用できない理由について詳しく説明してください
よろしく
Commons Collections 3.1の汎用ポートがありますここで利用できます。今何年も。うまく機能し、既存のCommonsソースに厳密に基づいているため、安定したAPIを備えています。
ただし、更新を使用してCommons Collections 3.2に準拠することもできます。
コレクションブログを読んで、コレクションフレームワークについて完全に理解してください。 http://tech.konnectingtheworld.com/2010/09/ a-note-on-java-collections /
クエリに回答がなかったと思われる場合は、ご連絡ください。できる限り情報を提供するようにします。