Java 泛型类型推理不起作用?

Java 泛型类型推理不起作用?,java,generics,Java,Generics,玩游戏,走了这么远。问题在于收集器。toList被拒绝,类型不兼容- /** *一般对项目。 * *@param-该对中第一项的类型。 *@param-第二项的类型。 */ 静态类对{ 最终P; 最终Q; 公共对(P,Q){ 这个,p=p; 这个。q=q; } @凌驾 公共字符串toString(){ 返回“{p+”,“+q+”}”; } } /** *获取数组中存在的第n项,否则返回null。 * *@param a-数组 *@param n-我们想要阵列中的哪一个。 *@param-数组项的

玩游戏,走了这么远。问题在于
收集器。toList
被拒绝,类型不兼容-

/**
*一般对项目。
*
*@param

-该对中第一项的类型。 *@param-第二项的类型。 */ 静态类对{ 最终P; 最终Q; 公共对(P,Q){ 这个,p=p; 这个。q=q; } @凌驾 公共字符串toString(){ 返回“{p+”,“+q+”}”; } } /** *获取数组中存在的第n项,否则返回null。 * *@param a-数组 *@param n-我们想要阵列中的哪一个。 *@param-数组项的类型。 *@return-数组中的第n个条目,如果不存在,则为null。 */ 私有静态tn(T[]a,int n){ 返回n-数组中元素的类型。 *@param-“Q”数组中元素的类型。 *@返回每个元素的“对”列表。 */ 静态列表pairUp(P[]ps,Q[]qs){ 返回IntStream.range(0,数学最大值(ps.length,qs.length)) .mapToObj(i->新对(n(ps,i),n(qs,i))) .collect(Collectors.toList()); } /** *在分隔符上拆分两个字符串,并返回对应项对的列表。 * *@param a-第一个字符串。 *@param b-第二个字符串。 *@param separator-分隔符。 *@return-来自'A'和'b'的成对条目列表。 */ 私有静态列表折叠(字符串a、字符串b、字符串分隔符){ 返回pairUp(a.split(分隔符,-1),b.split(分隔符,-1)); } 公开无效测试(){ System.out.println(折叠(“1;2;3;4”,“Value1;Value2;Value空白“,;”)); }


我是否把推理规则拉得太远了?如何修复此问题?

将菱形运算符添加到
构造函数中

new Pair<>(n(ps, i), n(qs, i))
新的一对(n(ps,i),n(qs,i))

将菱形运算符添加到
构造函数

new Pair<>(n(ps, i), n(qs, i))
新的一对(n(ps,i),n(qs,i))
有关原因,请参阅。有关原因,请参阅。