探索flutter框架开发的app在移动应用市场的潜力与挑战
808
2022-11-21
泛型_泛型简介
1 泛型基本概念
泛型是 JDK1.5 以后增加的,它可以帮助我们建立类型安全的集合。泛型的本质就是“数据类型的参数化”,处理的数据类型不是固定的,而是可以作为参数传入。 我们可以把“泛型”理解为数据类型的一个占位符(类似:形式参数),即告诉编译器,在调用泛型时必须传入实际类型。这种参数类型可以用在类、接口和方法中,分别被称为泛型类、泛型接口、泛型方法。参数化类型,白话说就是:\1. 把类型当作是参数一样传递。\2. <数据类型> 只能是引用类型。
2 泛型的好处
在不使用泛型的情况下,我们可以使用 Object 类型来实现任意的参数类型,但是在使用时需要我们强制进行类型转换。这就要求程序员明确知道实际类型,不然可能引起类型转换错误;但是,在编译期我们无法识别这种错误,只能在运行期发现这种错误。使用泛型的好处就是可以在编译期就识别出这种错误,有了更好的安全性;同时,所有类型转换由编译器完成,在程序员看来都是自动转换的,提高了代码的可读性。总结一下,就是使用泛型主要是两个好处:(1)代码可读性更好【不用强制转换】(2)程序更加安全【只要编译时期没有警告,运行时期就不会出现 ClassCastException 异常】
3 类型擦除
编码时采用泛型写的类型参数,编译器会在编译时去掉,这称之为“类型擦除”。泛型主要用于编译阶段,编译后生成的字节码 class 文件不包含泛型中的类型信息,涉及类型转换仍然是普通的强制类型转换。 类型参数在编译后会被替换成Object,运行时虚拟机并不知道泛型。泛型主要是方便了程序员的代码编写,以及更好的安全性检测。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~