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