2
我想創建一個接口,我的一些類將實現。雖然這對於一個T型正常工作:嵌套泛型類型接口
public interface AsyncResponse<T> {
void processFinish(T output);
}
這樣使這項工作對泛型列表使用processFinish<String>
等
似乎沒有。或者至少,我無法理解如何能夠允許以下幾種之一而不限於:
- LinkedHashSet輸出。
- ArrayList輸出。
我嘗試以下,但沒有奏效:
public interface AsyncGenericResponse<T<X>>{
void processFinish(T<X> output);
}
和
public interface AsyncGenericResponse<LinkedHashSet<T>{
void processFinish(LinkedHashSet<T> output);
}
無論是解決方案似乎工作。我該如何解決這個問題,甚至有可能?
此外,可以考慮使用'集合'超類型,而不是一個特定的'Set'或'List'如果你只需要一個集合,但不要不想在參數級別指定確切的類型。 –
Blacklight
2015-03-02 12:29:48
@Matthijs但是在這種情況下,雖然它可以用於你的'List'類型,但它不再適用於類型,例如'String'? – Unheilig 2015-03-02 12:32:26
但是在這種情況下沒有選擇使LinkedHashSet成爲它使用變量的泛型類型?在我的界面中使用>? –
Matthijs
2015-03-02 12:32:39