「Generics(=汎用型)」って素晴らしい

http://java.sun.com/j2se/1.5.0/docs/guide/language/generics.html
T getAnnotation(Class annotationType);
使用方法としてこんな感じに載っているが、キャストしなくてよくなるなんて本当にすごい。
例えば、外部ファイルで設定されたあるインタフェースを実現したクラスを内部で取得したいときは、外部ファイルで名称とクラス名を登録させ、使用するクラスでは、外部ファイルに記述された名称を元にインスタンスを取得し、キャストするという方法が良く使われていた。しかし、上記で記述したような方法でインスタンスを取得する実装をしておけば、使用するクラスでは、名称を元にインスタンスを取得しなくても良いとともに、キャスト自体も必要なくなる。おー\(~o~)/
あれ?そういえば、EJBのインタフェースをlookupするときもこんな風になっていた気がするなぁ・・・。
まだまだ勉強が足りない罠(つД`)