Mil*_*ous 0 java generics methods types
我希望能够在运行时detirmine我的方法调用的返回类型,但我似乎无法获得T的类型.
public <T> T getT()
{
Object t = null;
Class<?> c = t.getClass();
System.out.println(c.getName());
return (T) t;
}
Run Code Online (Sandbox Code Playgroud)
有没有办法在Java中确定运行时的T类型?
您的函数将抛出NullPointerException,因为您在空指针上调用"getClass"(因为t初始化为null).此外,泛型用于提供额外的编译时类型检查.他们在运行时没有给你任何特别的东西; 泛型只是使用类型Object,但会导致使用泛型对象的代码执行隐式强制转换,并使编译器知道如何使用它.
| 归档时间: |
|
| 查看次数: |
6047 次 |
| 最近记录: |