後出しで申し訳ないんですけど、自分がみてるチュートリアル貼っておきます。
http://docs.oracle.com/javase/tutorial/java/generics/boundedTypeParams.html

>>365
そんなもんです
>>366
使ってます
>>367
もうちょっと考えて見ます。
>>373
すいません。書いてあることは分かってるつもりなんですけど、なぜジェネリックとしてのタイプパラメータTが消えてしまったのかが分からないです。
compareTo(T o)を実装するなら、クラス定義にimplements Comparable<T>つかないとおかしくないですか?

チュートリアルでジェネリックのところ勧めていて、ここくるまでは特にひっかからなかったんですけど
ここで一気につまりました。
>>361の訂正というか補足なんですけど、インターフェイスで定義している理由は、compareToが基本的な型(intやStringやchar)でしか使えないため、
Comparable<T>でバウンドされたタイプパラメータを使用するでした。
どこか(compareTo実装するところかな?)でT extends なんちゃらみたいな形でバウンドしてやるのかなと思うんですけど
ちょっとつまりました。
とりあえず、今日は遅いので寝ます。教えてくれた人ありがとう ┌○