回复一楼的答案,首先 int x=DynamicConversion(2.3);//这里2.3是double类型的 这里返回的不是double类型 而是一个object类型
其次此代码楼主写的不够完善你这里完全没有发挥泛型方法的作用
public static <T> T DynamicConversion(Object obj)
{
return (T)obj;
} //我完全不知道这种写法有什么意义,甚至可以说此代码本身就是错误的
obj 强转T类型--》T是什么类型 你告诉编译器了吗?类型都不知道 如何能强转
一般泛型的是用于容器类
如 public static <T> T DynamicConversion(List<T> obj)
{
return obj.get(0);
}
如果你一定要这么写 也可以 但是请用字节码的形式传参
public static <T> T DynamicConversion(Class<T> c)
{
return c.getInstance();
}
//最后说句,至今为止我还没发现泛型方法有什么很好的用处,基本上强制转换能够基本解决泛型方法的一般状况 |