【发布时间】:2021-09-17 08:34:47
【问题描述】:
我有一个全局变量页面
private T page
另外,我还有一个setter方法;
public <T> void setGenericVar(T page) {
this.page = page
}
我在主程序中的调用是这样的;
setGenericVar("one");
setGenericVar(1);
我得到的错误是在setter方法中:
Required type: T
Provided: T
"Change parameter 'page' type to 'T'"
我在函数中需要一个 T 参数,但我也在证明它,所以我没有收到这个错误!
编辑:此代码出现问题:
public class GenericVariables<T> {
private T page;
public void main (String args[]) {
setGenericVar(2);
}
public <T> void setGenericVar(T page) {
this.page = page
}
}
【问题讨论】:
-
如果您在类级别将
T定义为泛型类型,则无需在方法级别指定它......但是使用您提供的代码很难说出实际问题是 -
我已经添加了我的实际问题,不便之处请见谅:(
标签: java generics global-variables setter generic-method