java泛型转换
使用泛型,向一个函数传入一个Object类型的数据,想让他返回为对应的泛型,可以吗?比如,<T>Tf1(Objecto,Tc){}我想把o返回成T的类型...
使用泛型,向一个函数传入一个Object类型的数据,想让他返回为对应的泛型,可以吗?
比如,<T> T f1(Object o,T c){ }我想把o返回成T的类型 展开
比如,<T> T f1(Object o,T c){ }我想把o返回成T的类型 展开
2个回答
展开全部
输入一个Object类型的数据 和 转型的类型的话可以实现,比如public static <T> T get(Object o,Class<T> clazz)
当然 <T> T f1(Object o,T c){ 也行的 只是需要通过c获得一次类的Class,
public static <T> T get(Object o,Class<T> clazz){
if(clazz!=null){
if(clazz.isInstance(o))
return clazz.cast(o);
else
throw new RuntimeException(o +" is not a "+clazz.getName());
}
return null;
}
public static <T> T get(Object o,T t){
Class<T> clazz=(Class<T>) t.getClass();
if(clazz!=null){
if(clazz.isInstance(o))
return clazz.cast(o);
else
throw new RuntimeException(o +" is not a "+clazz.getName());
}
return null;
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询