【发布时间】:2020-04-16 11:22:28
【问题描述】:
我有一个采用泛型 T 类型参数的方法。
public<T> void run(List<T> inputs){
System.out.println((Student) inputs.get(0).getFirstName());
}
我正在尝试在 run 方法中访问 Student 类方法。
但我收到 cannot resolve method 'getFirstName()' 编译错误。
请帮忙!
【问题讨论】:
-
如果您要转换为
Student,那么它不是通用的。顺便说一句,您正在尝试将getFirstName的返回值转换为Student -
哦,是的,我现在才意识到。我想访问学生类的方法。我该怎么做?
-
你的类型转换是错误的。应该是
((Student) inputs.get(0)).getFirstName() -
另外,你应该做
<T extends Student>- 几乎总是如果你在铸造,那么你做错了 -
@siddarth- 我也试过了,仍然无法访问 Student 类方法。