当前位置: 首页 > article >正文

getType() 和 getGenericType()的区别

处理泛型时会经常用到这两个方法,但是二者的区别是什么?

先看看官方的解释:

getType ==》:Returns a Class object that identifies the declared type for the field represented by this Field object.

返回字段对象声明类型的类对象。

getGenericType =》Returns a Type object that represents the declared type for the field represented by this Field object.
If the Type is a parameterized type, the Type object returned must accurately reflect the actual type parameters used in the source code.
If the type of the underlying field is a type variable or a parameterized type, it is created. Otherwise, it is resolved.

返回字段对象声明类型的type对象, Type是参数化类型,则在源代码中必须准确返回Type对象的实际类型参数。

不是我外语不好,实在是官方的解释太几把烂了,写的啥玩意儿!

千言万语BB不如一句话代码,用代码来证明吧:

 从上面的例子可以看到:

如果字段类型是泛型:

getType()只会返回泛型尖括号前面的类型,也就是集合的类型

getGenericType()会同时返回集合类型和尖括号里面的泛型类型。

这就是差别!

还有一个重点需要注意:泛型其实有一个隐含的前提:泛型的载体一定是集合!(List ,Map,Set之类的),原因很简单!因为正是对成员变量进行类型约束,才产生了泛型,那么它作用的对象一定是一组成员,那不就正好是集合类型了

如果字段类型不是泛型:getType() 和 getGenericType()返回值则是一样的

 

 


http://www.kler.cn/a/14993.html

相关文章:

  • 细数Java集合List的10个坑
  • vue2、vue3实现暗黑模式
  • pikachu靶场-RCE
  • Linux运维:推荐八款Linux远程连接工具
  • MongoDB 数据库数据导入 - 关于如何使用 csv 导入数据的命令方法、图形界面可视化导入方法
  • 从训练数据视角:看机器学习和深度学习的大三范式
  • 太为难我了,阿里面试了7轮...
  • python内置数据结构常见操作易错总结[更新ing...]
  • 一文看懂低代码,5分钟从入门到原理全搞定
  • 【地铁上的设计模式】--创建型模式:建造者模式
  • 线程同步方式之三信号量
  • 电脑高效率工作、学习工具软件推荐
  • pwm调节亮度
  • Springboot +Flowable,通过代码绘制流程图并设置高亮
  • 车联网OTA安全实践
  • 2023年全国最新保安员精选真题及答案62
  • 计算机专业VB系统,有论文,源代码
  • 【Linux常见指令以及权限理解】基本指令(2)
  • Python自动化测试框架之unittest使用详解
  • 如何使用python网络爬虫批量获取公共资源数据