BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース JDK 7: java.util.Objectsに欲しい、頻繁に書かれるユーティリティメソッドは?

JDK 7: java.util.Objectsに欲しい、頻繁に書かれるユーティリティメソッドは?

原文(投稿日:2009/09/11)へのリンク

JDK7 から導入される java.util.Objects というクラスが、よく書かれるユーティリティメソッドを提供する予定である。 Sunの Joe Darcy氏は、OpenJDKの core-libs-dev グループにどのようなメソッドがこのクラスに欲しいかという質問を投げかけた。 InfoQはこの質問をより広いJavaコミュニティに提示したい。

当初の投稿で、Darcy氏はいくつかの便利そうなメソッドを強調している

  • null セーフな equals(arg1, arg2) メソッド。両方とも null であれば true を、一方だけが null なら false を返す。どちらも null でなければ arg1.equals(arg2) を返す
  • 全てのプリミティブタイプ (int, long, 等)用の compareTo(arg1, arg2) メソッド

Andrew John Hughes氏による、他の提案には以下のようなものがある

  • リフレクションを使い、オブジェクトのすべてのフィールドを書き出すtoString(arg)
  • 実用的な clone() メソッド

Martin Buchholz氏のアイデアは null セーフな hashCode() の実装である。これは null オブジェクトには0を返す。

Stephen Colebourne氏はこのクラスに良さそうなメソッドの長い一覧を作成した。これらは主に Apache Commons Lang のユーティリティクラスから選んだものであり、いくつかの例を挙げると

  • null セーフな min(comparable1, comparable2)max(comparable1, comparable2)。これは最小、最大のオブジェクトを返す。 (どちらの引数も null ならば null)
  • defaultNull(obj, defaultValue) は、もし obj が null ならば defaultValue オブジェクトを返す

あなたのアイデアは?どんなメソッドが java.util.Objectsに追加されるべきか?

この記事に星をつける

おすすめ度
スタイル

BT