码迷,mamicode.com
首页 > 其他好文 > 详细

类的【TypeVariable】和变量的【ParameterizedType】

时间:2020-01-21 21:32:34      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:cli   entry   定义变量   arguments   blog   方法   round   通过   one   

1、参考文章

Java中与泛型相关的接口 之 GenericDeclaration - 简书

ParameterizedType详解 - 94me的博客 - CSDN博客

2、在定义类时,通过在尖括号【<>】内使用K、V等作为类型的占位符。在定义变量时,如果用到这个类,就需要为K、V等类型占位符指定明确的类型。这样就完成从定义到使用的全套操作。

3、尖括号内的K、V等占位符其实就是类的类型变量【TypeVariable】,并且可以通过类的【getTypeParameters】方法获取。当然类也可以限定只接受某些类型,通过【extends】去限制即可。

技术图片

4、在声明这个类型的变量时,就需要为K、V等占位符填上具体的类型,形成类似【Map<String,Long> map1;】的语句。其中map1的类型就是【Map<String,Long>】,那这个类型是类吗?不是,它是一个组合的类型,【Map】是它的原始类型【RawType】,【<String,Long>】是它的实际参数【ActualTypeArguments】。这个组合类型有一个学名叫做【ParameterizedType】。

5、对于组合类型【Map.Entry<Long,Short>】还有一个【OwnerType】,就是【Map】。

类的【TypeVariable】和变量的【ParameterizedType】

标签:cli   entry   定义变量   arguments   blog   方法   round   通过   one   

原文地址:https://www.cnblogs.com/StarkBrothers/p/12223548.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!