为了账号安全,请及时绑定邮箱和手机立即绑定

Java 返回值泛型问题

Java 返回值泛型问题

MMTTMM 2019-04-14 10:34:11
最近在学习如何使用泛型但是遇到了问题这是我的代码:publicabstractinterfaceWondersClient{publicabstractTexcute(WondersRequestwondersRequest)throwsIllegalArgumentException,IllegalAccessException,UnsupportedEncodingException,IOException;}里面的这个抽象方法,我在实际的实现类里面返回了一个WondersResponse对象,但是却报错,说需要强制转换,这是为什么。
查看完整描述

2 回答

?
开心每一天1111

TA贡献1836条经验 获得超13个赞

实现类方法return的时候做类型转换return(T)你的wonderResponse对象;(这样写eclipse会有warning)或者return一个T类型的变量;
因为你定义了泛型方法,返回类型是,即真实的返回类型是WondersResponse一个子类。虽然你返回的是一个WondersResponse对象,但是编译器不认识,当你定义了泛型,编译器就只认识T。
                            
查看完整回答
反对 回复 2019-04-14
?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

说明你的return语句对返回值的引用不是WondersResponse类型或其子类;如果你确定它实际上就是WondersResponse类型或其子类的话,返回之前强转一下就行了:(T)retVal;
                            
查看完整回答
反对 回复 2019-04-14
  • 2 回答
  • 0 关注
  • 899 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信