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

东莞网站建设公司排名编程培训

东莞网站建设公司排名,编程培训,oss做下载网站,国内摄影作品网站参考: Java 泛型,你了解类型擦除吗? 泛型的使用 1、泛型的定义 可以广泛使用的类型,一种较为准确的说法就是为了参数化类型,或者说可以将类型当作参数传递给一个类或者是方法。 2、泛型的使用 2.1泛型类 public c…

参考:
Java 泛型,你了解类型擦除吗?
泛型的使用

1、泛型的定义

可以广泛使用的类型,一种较为准确的说法就是为了参数化类型,或者说可以将类型当作参数传递给一个类或者是方法。

2、泛型的使用

2.1泛型类

public class Test<T> {T field1;
}

2.2 泛型接口

public interface Iterable<T> {
}

2.3 泛型方法

public class Test1 {public <T> void testMethod(T t){}
}

3、泛型的通配符、上下限

除了用 表示泛型外,还有 <?>这种形式。? 被称为通配符。
通配符的出现是为了指定泛型中的类型范围。

通配符有 3 种形式。

<?>被称作无限定的通配符。
<? extends T>被称作有上限的通配符。类型必须是T或T的子类
<? super T>被称作有下限的通配符。类型是T或T的父类

4.泛型擦除

泛型信息只存在于代码编译阶段,**在进入 JVM 之前,与泛型相关的信息会被擦除掉,**专业术语叫做类型擦除。

import java.util.ArrayList;
import java.util.List;public class Generics1<T> {public static void main(String[] args) {List<String> l1 = new ArrayList<String>();List<Integer> l2 = new ArrayList<Integer>();System.out.println(l1.getClass() == l2.getClass());System.out.println(l1.getClass());System.out.println(l2.getClass());}
}

在这里插入图片描述

打印的结果为 true 是因为 List和 List在 jvm 中的 Class 都是 List.class。这意味着,泛型信息被擦除了
那么<String><Integer>这些泛型类型呢?

import java.lang.reflect.Field;public class Erasure<T> {T age;public Erasure(T age){this.age=age;}public static void main(String[] args) {//通过反射查看泛型类运行时的状态信息Erasure<String> erasure=new Erasure<String>("hi");Class eclz=erasure.getClass();System.out.println("类型是:"+eclz.getName());//查看T类型在jvm中的具体类型Field[] fs=eclz.getDeclaredFields();for(Field f:fs){System.out.println("字段名称="+f.getName());System.out.println("字段类型="+f.getType());}}
}

打印结果显示T类型是Object类型
在这里插入图片描述
类型擦除后,不一定是Object类型,如果指定了上限如 <T extends String>则类型参数就被替换成类型上限。

import java.lang.reflect.Field;public class Erasure<T extends String> {T age;public Erasure(T age){this.age=age;}public static void main(String[] args) {//通过反射查看泛型类运行时的状态信息Erasure<String> erasure=new Erasure<String>("hi");Class eclz=erasure.getClass();System.out.println("类型是:"+eclz.getName());//查看T类型在jvm中的具体类型Field[] fs=eclz.getDeclaredFields();for(Field f:fs){System.out.println("字段名称="+f.getName());System.out.println("字段类型="+f.getType());}}
}
http://www.dt0577.cn/news/5510.html

相关文章:

  • 在线a视频网站一级a做爰如何自己做一个网址
  • 做海产品的外贸网站营销手段
  • 湛江市国外网站建设报价谷歌seo优化排名
  • 梅地卡伦手表网站2022适合小学生的简短新闻摘抄
  • 上海自动seo优化大师如何删掉多余的学生
  • 丝网外贸做哪些网站常德seo公司
  • 给企业做网站的公司西安网站运营
  • 贵州城乡住房和建设厅网站电商推广平台有哪些
  • 自己做的影视会员网站违法么云南优化公司
  • 在淘宝上开网店的详细步骤seo推广公司招商
  • 衡阳做淘宝网站建设正规seo关键词排名网络公司
  • 响应式网站开发步骤网站设计培训
  • 南阳网站开发公司baidu 百度一下
  • 网站开发可以学吗每日精选12条新闻
  • 武汉建网站公司怎么样推广注册app赚钱平台
  • 如何做个网站南宁seo网站排名优化公司
  • 做微商童装网站免费域名解析
  • 利用python做网站百度获客
  • 上海企业网站定制百度客服
  • 企业网站定制开发一条龙全包如何查看一个网站的访问量
  • 太原响应式网站建设互联网营销师课程
  • 网站开发流程图解释含义百度seo查询工具
  • 网站优化流程微营销系统
  • wordpress自适应网站博客模板最新北京网站制作推广
  • 企业做网站的作用网站搜索优化公司
  • 建站兔软件常见问题搜索引擎收录查询工具
  • 网站建设前台功能国内b站不收费网站有哪些
  • 开发公司临检管理办法福州360手机端seo
  • 海口网站建设电话时事新闻最新消息
  • 知名个人网站网站优化推广软件