我的班级看起来像这样。
// just followed the T, U, V...
public class Some<T...., U....> {
}
我需要添加一个像这样的实例方法。
// not a static method
// just followed from BiFunction<T, U, R>.class
protected <U, R> R apply(final BiFunction<T, U, R> function,
final U u) {
}
该方法的T
与该类的T
相同。
但是该方法的U
不一定与该类的U
相同。
我应该更改其中一个U
吗?
换句话说,
这两个U
是否相同?
答案 0 :(得分:5)
根据范围规则,U
不一样。 U
方法的apply
会影响类Some
中的U
。为避免混淆,我会重命名其中一个#include <stdio.h>
int func(unsigned int mask)
{
return (!mask & 0) ? 1 : 0; // No warning for 0 or 1
^^
0 or 1
}
int main() {
func(1);
return 0;
}
。