BT

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

| 作者: Ryan Slobojan , 翻訳者 川本 史生 投稿日 2009年9月25日. 推定読書時間: 1分未満 |

原文(投稿日: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に追加されるべきか?

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション
BT