我希望实现的效果如下例所示:
public <T extends Collection> T<String> mainSolution(T<String> words)
{
return Collections2.transform(words, w -> w.length() + w.toUpperCase());
}
答案 0 :(得分:0)
我认为你的意思是你希望将Collection
(或任何子类)的String
传递给一个进行转换的方法,并在转换后返回该集合。生成的集合与传入的集合的类型相同。
如果情况确实如此,那你只是偶然发现了一些语法。
以下是代码:
public <T extends Collection<String>> T mainSolutions(T words)
{
return (T) Collections2.transform(words, w -> w.length() + w.toUpperCase());
}
在尖括号< ... >
之间你有通用类型参数,然后在T
之后是方法的返回类型,显然它需要1个相同类型T
的参数。 / p>