タグ

ブックマーク / hageyahhoo.hatenablog.com (2)

  • 【generics】型パラメータを減らす - The HIRO Says

    例えば、HashMap を定義する場合、 Map map = new HashMap(); のように、左辺・右辺で同じ型パラメータを書く必要があります。 でも、同じものを2度書くのは面倒!という場合もあるかと思います。 そういう場合は、こんなメソッドを作ってみましょう。 public static Map createHashMap() { returh new HashMap(); } こうすると、 Map map = XXX.createHashMap(); のように、型パラメータの定義が1回で済むようになります。 Map とかのように型パラメータを多く指定するクラスを頻繁に使用する場合、ミスの防止とコード作成量の削減のため、こうした方法をとってみるのもよいかもしれません。

    【generics】型パラメータを減らす - The HIRO Says
  • generics で SuppressWarnings を使う - The HIRO Says

    generics を使っていると、コンパイル時に色々な警告に遭遇します。 原則これらは簡単に除去できるんですが、中にはどうやるの?というケースもあります。 今回は、そういう特殊なケースについて記述します。 特殊な警告例 次のコードは、java.lang.List#get(int) と同じことを、無理やりメソッドにしたものです。 わざとらしく、List#toArray() とかを使っています。 public static E get(List list, int offset) { // エラーチェックロジックは省略 E array = (E) list.toArray(); return array[offset]; } これをコンパイルすると、次の警告が出てきます。 型の安全性:Object から E へのキャストは、実際に消去された型 Object[] に対してチェックを行います。 警

    generics で SuppressWarnings を使う - The HIRO Says
  • 1