我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:2019全年资料大全正版 > 泛型类型变量 >

java泛型的类型擦除为什么show方法打印的也是String

归档日期:06-11       文本归类:泛型类型变量      文章编辑:爱尚语录

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  你是不是疑惑,为什么obj[0]会是字符串,不是提升成了Object了吗?

  因为你在使用push方法进行存储的时候,就已经擦除泛型了,直接使用的是字符串类型了

  其实很好测试,你把泛型定义成Object,然后你传入:一个数字:,一个字符串;

  然后你调用:show方法会得到Integer和String,数字不是对象在push的时候就会封装成对象!

  当前使用getClass方法的时候,系统调用的是底层,功能读取Class文件对象,可以获取它很多属性

  这就好比:你的泛型T,不管他是什么,但必须是对象,都是Object子类,都具备一个方法toString

  相同:字节码文件的对象既Class对象,也都具备自己的公开方法如:getSimpleName()

本文链接:http://buggystordera.com/fanxingleixingbianliang/512.html