专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java培训 Java培训教程:什么是泛型Java

Java培训教程:什么是泛型Java

更新时间:2019-12-13 11:54:47 来源:动力节点 浏览2362次

 

Java培训教程:什么是泛型Java.jpg
 

System.Collections.Generic命名空间包含了范型集合需要的类和接口;

  我们在写程序的时候, 经常需要这种东西: 可变长度的Array, 比如说一个string[]

  而事实上定义了一个string[]并初始化后那么它的长度就固定了, Array根本做不到. 如果非要实现这种功能,那唯一合理的办法只有定义一个ArrayList, 这个类似于vector类型的东西可以实现可变长度的Array, 但是带来几个问题:

1. ArrayList里面操作的都是object类型, 这意味着如果我放一个string进去, 再当作int取出来, 这在编译阶段是不会出错的, 而在运行时才会提示转换无效

2. 以object方式存储时, 需要装箱和拆箱操作, 这些步骤会带来额外的性能消耗 - 而没法做到普通Array那样直接

3. 如果要避免前两个问题, 那么所有的需要强类型的集合类都需要分别定义, 比如XxxxCollection, 非常麻烦

  解决办法:

Collection strCollection = new Collection();

strCollection.Add("a");strCollection.Add("b");.....

  这样strCollection就是我们需要的集合. 范型使Add/Remove等操作全部都是类型安全的,以索引器访问时也是类型安全的, 这在编译阶段(对于VS来说可以包括编写代码的阶段)就可以反映出来.

  而性能方面, 这里根本就没有装箱/拆箱的操作, 所以比原有ArrayList方式性能更高. 也没有像以前那样声明一个StringCollection之类的class, 代码上也简洁的多.

 

Java培训教程:什么是泛型Java.jpg

 

 范型的特点

  增加了编译时的类型检查;

  减少了装箱和拆箱操作;

  减少了运行时的类型检查;

Cast;

      以上就是动力节点Java培训机构小编介绍的“Java培训教程:什么是泛型Java”的内容,希望对大家有帮助,如有疑问,请在线咨询,有专业老师随时为你服务。

       相关文章

零基础怎么自学Java,完整版Java学习路线图

你还在纠结学Java,是自学还是去培训班吗

一个标准的Java程序员如何进阶?

Java学习路线清单,快速进阶Java

Java编程初学者要如何进阶

 

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>