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

小企业网站建设论文商业网站开发岗位需求分析

小企业网站建设论文,商业网站开发岗位需求分析,恐怖小说网站怎么做,wordpress主题删除失败文章目录 泛型擦除(1)转换泛型表达式(2)转换泛型方法泛型擦除带来的问题 泛型擦除 在编码阶段使用泛型时加上的类型参数#xff0c;会被编译器在编译阶段去掉#xff0c;这个过程叫做泛型擦除。 泛型主要用于编译阶段。在编译后生成的Java字节码文件中不包含泛型中的类型信息… 文章目录 泛型擦除(1)转换泛型表达式(2)转换泛型方法泛型擦除带来的问题 泛型擦除 在编码阶段使用泛型时加上的类型参数会被编译器在编译阶段去掉这个过程叫做泛型擦除。 泛型主要用于编译阶段。在编译后生成的Java字节码文件中不包含泛型中的类型信息。例如在编码时定义的ListInteger和ListString经过编译后统一为List。JVM读取的只是List由泛型附加的类型信息对JVM来说是不可见的。 Java核心技术卷I解释 无论何时定义一个泛型类型都会自动提供一个相应的原始类型(raw type)。这个原始类型的名字就是去掉类型参数后的泛型类型名。类型变量会被擦除(erased)并替换为其限定类型(或者对于无限定的变量则替换为Object)。 例如 泛型类PairT如下 public class PairT{private T first;private T second;public Pair(T first,T second){this.firstfirst;this.secondsecond;}public T getFirst(){return first;}public T getSecond(){return second;}public void setFirst(T newValue){firstnewValue;}public void setSecond(T newValue){secondnewValue;} }PairT的原始类型如下所示 public class Pair{private Object first;private Object second;public Pair(Object first,Object second){this.firstfirst;this.secondsecond;}public Object getFirst(){return first;}public Object getSecond(){return second;}public void setFirst(Object newValue){firstnewValue;}public void setSecond(Object newValue){secondnewValue;} }因为T是一个无限定的变量所以直接用Object替换。 在程序中可以包含不同类型的Pair,例如PairString或PairLocalDate。不过擦除类型后它们都会编程原始的Pair类型。 假定我们声明了泛型上限 public class IntervalT extends ComparableSerializable implements Serializable{private T lower;private T upper;...public Interval(T first,T second){if(first.compareTo(second)0){lowerfirst;uppersecond;}else{lowersecond;upperfirst;}} }此时原始类型如下所示 public class Interval implements Serializable{private Comparable lower;private Comparable upper;...public Interval(Comparable first,Comparable second){if(first.compareTo(second)0){lowerfirst;uppersecond;}else{lowersecond;upperfirst;}} }如果将限定切换为class IntervalT extends SerializableComparable原始类型会用Serializable替换T而编译器在必要时要向Comparable插入强制类型转换。 (1)转换泛型表达式 编写一个泛型方法调用时如果擦出了返回类型编译器会插入强制类型转换。例如 PairEmployee buddies...; Employee buddybuddies.getFirst();getFirst擦除类型后的返回类型是Object。编译器自动插入转换到Employee的强制类型转换。也就是说编译器把这个方法调用转换为两条虚拟机指令 对原始方法Pair.getFirst的调用。将返回的Object类型强制转换为Employee类型。 当访问一个泛型字段时也要插入强制类型转换。假设Pair类的first字段和second字段都是公共的。表达式 Employee buddybuddies.first;也会在结果字节码中插入强制类型转换。 (2)转换泛型方法 类型擦除也会出现在泛型方法中。 public static T extends Comparable T min(T[] a)经过泛型擦除后只剩下 public static Comparable min(Comparable[] a);注意类型参数T已经被擦出了只留下了限定类型Comparable。 泛型擦除带来的问题 当然泛型擦除也带来了许多问题这里就不细讲了只是小总结下 不能用基本类型实例化类型参数运行时类型查询只适用于原始类型不能创建参数化类型的数组不能实例化类型变量不能构造泛型数组泛型类的静态上下文中类型变量无效不能抛出或捕获泛型类的实例可以取消对检查型异常的检查注意擦除后的冲突 参考 《剑指Java》 《Java核心技术卷I》 泛型详解 泛型之类型擦除
http://www.dnsts.com.cn/news/10110.html

相关文章:

  • 怎么建好网站番禺网络公司
  • 制作网站的程序潍坊网站制作培训
  • 医美技术支持东莞网站建设畅言 wordpress插件
  • 网站开发应用短信网红营销方式
  • seo网站营销公司哪家好网址导航是什么软件
  • 如何让自己做的博客网站上线下载做ppt的动画片的好网站
  • 机票特价网站建设学做网站的学校
  • 怎样创作网站wordpress主题猫
  • php网站设计人员电商行业
  • 公司网站域名注册费用美容医院网站建设
  • 建设在线购物网站无需登录网页小游戏网站
  • 做排名的网站哪个好深圳做网站 龙华信科
  • 万荣网站建设域名注册是什么意思呢
  • 做网站 江门国外互联网资讯网站
  • 1.1做网站的目的什么是响应式布局
  • 网站建设师要求国际新闻最新消息今天时政
  • 广州seo优化排名推广衡阳seo网站推广
  • 如何建设电影网站淘宝网站页面设计
  • 湖南网站建设 要上磐石网络群晖nas安装wordpress
  • 给个手机网站就这么难吗租木模板多少钱一平方
  • 建设官方企业网站国家工商网查询官网
  • 方特网站是谁做的大兴区住房与城乡建设部网站
  • 网站建设合同合同期限网站优化自己做该怎么做
  • 云主机如何做两个网站高新网站建设
  • 单页网站版权显示湖北网站开发公司
  • 柯桥做网站哪家好id注册
  • 东莞网站建设推广有哪些好的网站制作公司
  • fwa 网站 欣赏网站流量增加
  • 网站设计师职位认识山西省建设资格注册中心网站
  • 建设银行网站上改手机号码5000人朋友圈推广多少钱