ジェネリックのメソッド

http://java.sun.com/j2se/1.5/pdf/generics-tutorial.pdf
→5.Generic Methods


メソッドのみに指定するジェネリックの書き方があるそうです(クラスに指定するのでないやつ)。
メソッドの引数で?を使うと都合が悪いとき

static void fromArrayToCollection(Object[] a, Collection<?> c) { 
    for (Object o : a) { 
        c.add(o);//コンパイルエラー
    }
}

これをこんな感じで書けるそうです。

static <T> void fromArrayToCollection(T[] a, Collection<T> c) { 
    for (T o : a) { 
        c.add(o);
    }
}

なにこれ初耳。
コレクションフレームワーク使ってたら知らないうちに利用はしていたようだが、自分で定義したことはないっす。