我想了解爲什麼編譯器會抱怨這個接口聲明。 T是一個泛型類型參數。爲什麼不使用編譯器接受的泛型的java接口定義?
static class Bar<T extends Comparable<?>> {}
static interface Foo<T extends Comparable<?>, Bar<T>> { }
編譯器說
Error:(64, 53) Groovyc: unexpected token: <
(64,53)是第二T
前<
。
我想要的是一個接口Foo,它與包含任何擴展Comparable的類的Bar實例一起工作。
標識符'static'是不必要那裏,如果你的類被稱爲'Foo'爲你」已經說過,那麼你的界面肯定不能稱爲'Foo'(考慮到它們在相同的包中)。 –
很確定T必須被定義('T extends Comparable >'),所以'Foo,Bar >'。由於我不是100%確定的,所以不會發布爲答案,我已經在Java和C#之間來回切換。 –
Adrian
你想達到什麼目的?如果Bar是一個具體類,爲什麼你將它聲明爲Foo接口的泛型類型? –