关于泛型的使用

今天准备继续看看springMVC的源码的,但是实在是看不下去了,惭愧惭愧,所以来总结一下泛型的使用(好像没什么逻辑)。

泛型的介绍就就不多说了,要我说我也说不清楚。。。引用一句话:泛型类型在逻辑上可以看成是多个不同的类型,实际上都是相同的基本类型。泛型的使用主要分为:泛型类,泛型接口,泛型方法。我们平时一般使用泛型就是在Map、List加入泛型类型,会有一种泛型就这样的感觉,事实上这是因为API给你创建好了泛型接口,你只是去使用,所以没有感觉到泛型的作用,去深入了解之后,你会发现泛型还是有点意思,有点思想在里面的。

泛型类:就是在类上加个泛型,哈哈哈,好吧,这个解释有点勉强,直接上点代码吧:


运行结果:


主要使用场景就是,我们在创建类的时候,有一些属性不能确定其类型,而在使用的时候又想要约束其具体类型(因为使用Object做类型转换的时候,很容易出错),这个时候泛型就登场了,跟组合有点像,运行时确定具体的实现。

泛型接口:

泛型接口和泛型类的作用是差不多的,作用对象不一样,泛型接口就一点不同,当具体的类实现泛型接口时,你有两种选择,一是在类上继续选择泛型,在具体的使用时再去确定类型,二是直接选择具体的类型,但是你不能不写,这样是会报错的,上点代码:





这样看就很明显了吧。

泛型方法:

泛型方法有两种,一种是在泛型类里面的泛型方法,这种方法的泛型和类的泛型是一样的。一种是和泛型类无关的泛型方法,泛型是让方法自己确定的,日常上代码:


大概就是这样了。

另外,泛型不支持父类做形参,而实参传入子类的,这个时候就需要使用泛型通配符了,就是那个问号<?>,还有泛型支持可变参数就是那个省略号T...,因为下班了,所以我就不写了。总的来说,泛型就是为了处理那些还不能确定是什么类型,但在具体使用时却要约束成具体的类型的场景。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值