方法
Filter<T,U> connect(final Filter<T,U> filter) {
...
return filter
}
在课堂上
class Pipe<T>
我收到错误“无法解析U”。 我们的想法是在不知道U类型的情况下,通常返回具有相同两种类型的相同过滤器。我该怎么做?
目标是能够在不提供类型参数的情况下进行链接,而不需要它们,因为它们不会被修改:
(new Pipe<Integer>).connect(new Filter<>(...)).connect(new Pipe<>)...
上述expamle中Filter之后的第二个Pipe应隐式为泛型类型。
答案 0 :(得分:8)
看起来您正试图制作method generic。要执行此操作,只需在返回类型之前将通用类型U
添加到其签名:
<U> Filter<T,U> connect(final Filter<T,U> filter) {
...
return filter
}