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

上海定制建设网站北京疫情太严重了

上海定制建设网站,北京疫情太严重了,阿里巴巴国际站怎么开店,北京房产网站建设概念 首先聊聊泛型,泛型是JDK5的新特性。泛型是用来指定不同类型来控制形参具体限制的类型。泛型这种语法机制,只在程序编译阶段起作用,只是给编译器参考的(运行阶段泛型没用)。写了这么多代码应该能知道泛型的优点就是…

概念

        首先聊聊泛型,泛型是JDK5的新特性。泛型是用来指定不同类型来控制形参具体限制的类型。泛型这种语法机制,只在程序编译阶段起作用,只是给编译器参考的(运行阶段泛型没用)。写了这么多代码应该能知道泛型的优点就是可以使集合中存储的元素类型是统一一致的并且可以做到不需要进行大量的转型。此文章并不主要讲泛型的使用,而是记录源码中泛型的用法,比如<T>这种类型。

public class GenericTest{public static void main(String[] args){//这就是使用泛型的方法 保证此集合只存储String数据类型的元素List<String> list = new ArrayList<String>();//在JDK8后引入了新特性:自动类型推断机制 可以将上面的语句简写为:List<String> list = new ArrayList<>();}
}

泛型表示

        首先应该知道泛型可以被用在什么地方上?答案有:接口方法属性。当然哈,泛型不能用在八种基本数据类型上:byte、short、int、long、float、double、boolena、char。必须用在类名后或者方法返回值之前。泛型的表达式主要有以下几种:

1、<T> 普通符号

2、无边界通配符 <?>

3、上界通配符 <? extends E> E表示父类

4、下界通配符<? super E> 是E的子类

泛型擦除

public class GenericTest {public static void main(String[] args){List<String> l1 = new ArrayList<>();List<Integer> l2 = new ArrayList<>();System.out.println(l1.getClass() == l2.getClass() ? "true" : "false");//true}
}

从上面这个例子可以看出两个集合中存储的类型不一致,但是得到的字节码文件是一样的。这就是因为JVM的泛型擦除机制,在JVM中把泛型给忽略掉了,只保留了原始类型。

静态方法与返回类型

        上文说过:泛型必须用在类名后或者方法返回值之前。所以如果我们编写的类中的静态方法,使其返回的类型为当前类本身并且后面还加了个泛型,那么静态方法后也要加泛型,否则会报错,这是为什么呢?例子如下:

public class Result<T> {private T data;//这样写是会报错的public static Result<T> ok(T data){return Result.ok(data);}//必须在静态方法后也加个泛型public static<T> Result<T> ok(T data){return Result.ok(data);}//如果不想报错就写成非静态的public Result<T> ok(T data){return Result.ok(data);}
}

        上述这个例子就必须研究到JVM的类加载机制:

        静态方法和普通方法的生命周期不一致:静态方法生命周期属于类加载的时候,在Java中泛型只是一个占位符,必须传递具体类型才可以使用,也就是类实例化的时候才传递具体参数类型,由于静态方法的加载在类实例化之前,也就是说在类未实例化的时候,类中的泛型还没有传递真正的类型参数,这时候静态方法就已经加载完成。显然,静态方法不能使用/也就是访问不到泛型类中的泛型,所以需要加<T>声明使用哪种泛型类型。所以说,如果不想报错的话也可以不用静态方法。

        还有一点就是关于泛型擦除。Java的泛型属于伪泛型,也就是说只会在编译期才生效。编译之后会产生泛型擦除。比如T就会被JVM认成Object。

http://www.tj-hxxt.cn/news/90393.html

相关文章:

  • 怎样开网站百度快照怎么看
  • 在网站上放广告武汉网站推广很 棒
  • 做民宿加盟哪些网站比较好seo软文是什么意思
  • 蓝色系列的网站宁波seo外包推广平台
  • 怎么做网站平台百度百家号
  • 个体工商户经营范围网站开发成都关键词优化报价
  • 做最优秀的自己演讲视频网站太原网站制作推广
  • 网站建设策划书参考案例新站优化案例
  • 中国电信新建网站备案管理系统 录完信息刷神马关键字排名软件
  • 哪些网站可以做一些任务挣钱合肥品牌seo
  • 美观网站建设物美价廉东莞seo外包平台
  • 外包制作appseo快速收录快速排名
  • 潍坊网站制作培训襄阳百度开户
  • 做的网站怎么让百度收录win7系统优化大师
  • 测试网站兼容产品推广外包
  • 动态网站需要学什么上海网站建设咨询
  • 公司企业网站建设步骤百度推广优化怎么做
  • 电子商务做网站设计seo网络营销的技术
  • 深圳免费做网站网址搜索
  • 东营专业网站建设数据分析培训
  • 网络公司排名图seo外链代发
  • 做网站和维护要多少钱百度seo策略
  • 做家装施工的网站百度竞价排名广告
  • 沈阳定制网站开发公司怎么做好seo推广
  • php动态网站开发优势百度推广优化技巧
  • 如何做一份企业网站规划整合网络营销外包
  • c 做商务网站方便吗百度手机seo软件
  • 免费的行情网站app软件推荐某个网站seo分析实例
  • 专业网站优化方案简述网站建设流程
  • 免费制作二维码网站销售推广的方法都有哪些