[英]How do I declare a type variable that extends a Parameterised type?
我不是Java程序員,所以如果我的術語有點偏離,請原諒。 我想聲明以下內容:
public class Foo<T extends Bar<I, J, K>> {
....
};
我的IDE告訴我它無法解析I,J或K。
我正在嘗試用Java做的事情還是應該采用其他方法?
您必須聲明所有類型參數:
public class Foo<I,J,K,T extends Bar<I, J, K>> {
....
}
您不能以這種方式隱式聲明它們,您需要編寫
public class Foo<I, J, K, T extends Bar<I, J, K>>
請注意,如果這似乎多余,您可能會發現所需的只是
public class Foo<I, J, K> {
final Bar<I, J, K> bar;
假設I,J,K
不是類,並且它們是類型參數名稱,則編譯器需要引用它們的顯式聲明。
這會工作
class Foo<I,J,K,T extends Bar<I, J, K>> {
}
鑒於Bar
需要3種類型參數,
class Bar<I,J,K>{
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.