Java泛型报错:为什么`getRes()`方法返回`Object`而不是指定的泛型类型?

2024-11-28 22:13:42 编辑:抖狐科技 来源:摘自互联网

java泛型报错:为什么`getres()`方法返回`object`而不是指定的泛型类型?

java的泛型出错探究

在使用泛型时,我们偶尔会遇到一些错误。本文将探讨一个这样的错误,并提供解决方案。

考虑以下代码段:

examinationpojo dbres = examinationmapper.selectbyid(id);

generaterescode2 res = new generaterescode2<examinationpojo>();
res.setres(dbres);

// 这里会报错
examinationpojo item = res.getres();

登录后复制

编译器会发出如下错误:

立即学习“Java免费学习笔记(深入)”;

required type: examinationpojo
provided: object

登录后复制

这是因为 getres() 方法返回类型为其泛型类型的对象。然而,在代码中,我们尝试将其强制转换为 examinationpojo 类型。虽然可以通过强转或将泛型定义为 object 来解决此问题,但这会使泛型的使用失去意义。

正确的解决方法是确保泛型类型在创建对象时指定:

GenerateResCode2<ExaminationPojo> res = new GenerateResCode2<>();

登录后复制

通过明确指定泛型,编译器可以正确推断 getres() 方法返回的类型,从而避免错误。

以上就是Java泛型报错:为什么`getRes()`方法返回`Object`而不是指定的泛型类型?的详细内容,更多请关注抖狐科技其它相关文章!

本站文章均为抖狐网站建设摘自权威资料,书籍,或网络原创文章,如有版权纠纷或者违规问题,请即刻联系我们删除,我们欢迎您分享,引用和转载,我们谢绝直接复制和抄袭!感谢...
我们猜你喜欢