Java泛型中 ,下面一句中“<T extends Number>”和“(T t)”是什么意思?

Java泛型中 ,下面一句中“<T extends Number>”和“(T t)”是什么意思?

public <T extends Number> void printValue(T t){}

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,自定义泛型方法时,泛型应该写在访问修饰符和返回值类型之间,如:

http://img1.sycdn.imooc.com//climg/60b457230900d90a05390135.jpg

    ​所以泛型方法是public <T extends Number> void printValue(T t){};。其中 <T extends Number>就是定义了T t这个泛型,表示printValue这个方法的参数可以是Number的子类。

祝学习愉快!

  • http://img1.sycdn.imooc.com//climg/60b457230900d90a05390135.jpg

    这样书写T是不是表示任意一种类型?和Object一样? 奇怪T并没导入,为什么不会编译失败

    2021-11-22 23:33:43
  • 同学你好,是的,T表示任意类型。但与Object类是不一样的,T是一个占位符,表示的是类型。用来告诉编译器,这个东西是先给我留着,等我编译的时候再告诉你是什么类型。

    祝学习愉快!

    2021-11-23 09:55:10
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师