www.gsyw.net > jAvA中的泛型是干嘛的,起到什么作用??什么情况...

jAvA中的泛型是干嘛的,起到什么作用??什么情况...

限制使用对象类型,起到程序编译时限制作用

泛型是Java5 以后提出的语法现象,作用是在编译期检查的类型约束(运行期间不检查)泛型可以用来约束类中元素的类型

SyEigyo是你的对象类,而sytEigyoList 则是你申明的泛型对象名

泛型的意思就是可以被当做多种类型. 先说class interimpl implements inter{} 这个类已经限定了,它只能处理inter这种情况,因为你已经明确化类型了. 你也可以这样写class interimpl implements inter {},但是不好. class interimpl2 implements inter{} 这个就挺好了,其中的q可以是string,也可以是integer等.第一个q存在的原因是他也是泛型类,而这个q所代表的跟他实现的inter的泛型类型是相同的.而类中的q是它所处理的类型.

首先你要明白: 他给出的这个泛型,不是无意义的. 如果定义容器了list,如果你不定义他的泛型,那么他可以放不同类型的东西. 比如你定义了一个list<Integer>,这样的话 他只可以存放整型的数据,一旦你想要放其他的类型的数据,他会包错. 所以这个泛型的目的就是是定义的容器所放的内容是一个统一的类型.

初学java,看了thinking in java的泛型一章,java泛型我只看到一个作用:能够进行编译期间类型检查.除此之外还有什么作用呢?特别的是跟“泛型”这个词有关系的作用?由于擦除的关系,能用java泛型写的代码,直接针对object类来写就能达到目的(只是没了编译期类型检查另外某些地方要自己添加转型),就算用了限定边界<T extends A>这种直接针对类A来写代码也是一样.正如thinking in java的作者提到的,了解了java的泛型后,我都怀疑java的泛型是否配得上这个名称了.

我来简述一下泛型的知识吧: 如果一个类的后面跟上一个尖括号,表示这个类是泛型类. 可以这样声明:class 名称<泛型列表> 如:class A<E> 其中A是泛型类的名称,E是泛型.(可以是任何对象或接口) 其中给出的泛型可以作为类的成员变

可以直接说:楼上的SB,范型是解决对象转型而来.范型是强制类型,省去了转型的烦恼[类型不符编译时报错]

java 泛型是java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数.这种参数类型可以用在类、接口和方法的创建中

泛型的好处是在编译的时候检查 类型安全,并且所有的 强制转换都是自动和隐式的,提高代码的重用率.虽然只是java的语法糖,虚拟机中并没有泛型的概念,但写代码时尽量使用泛型.使用类、接口和方法时都可以使用泛型,使用集合类的时候尽量使用. 泛型不是必需的,但是java推荐使用集合框架时使用泛型,可以有效地避免数据类型不同时引发的各种问题,提高处理速度. 而且泛型只是避免强制转化.

网站地图

All rights reserved Powered by www.gsyw.net

copyright ©right 2010-2021。
www.gsyw.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com