今日、Java で次のように宣言すると、次のようになることに気付きました。
public interface Foo<T extends Foo> {}
次に、次のタイプのオブジェクトを再帰的に宣言できます。
Foo<Foo<Foo<Foo<Foo<Foo<Foo... ...>>>>>> foo;
そして、あなたはそれの終わりに到達することはありませんが、警告を満たすことは決してできません:「Foo は生の型です。型 Foo への参照はパラメーター化する必要があります。非常に興味深いです。