讲述java泛型的好处 java的泛型方法怎么写


讲述java泛型的好处 java的泛型方法怎么写

文章插图
一般的类和方法,只能使用具体的类型,要么是基础数据类型,要么是自定义类 。
如果要编写可以应用与多种类型的代码,这种刻板的限制对代码的束缚就会很大 。
泛型的字面概念:适合用于许多类型 。
在面向对象中,多态算是一种泛化机制 。
泛型的使用例子:在如图的例子中T就是类型参数
当你创建Holder对象时,必须指明想持有什么类型的对象,将其置于尖括号内,就像main()中那样 。然后,你就只能在Holder中存入该类型(或其子类,以为多态与泛型不冲突)的对象了 。并且,在你从Holder中取出它持有的对象时,自动地就是正确的类型 。
java泛型核心概念:告诉编译器想要什么类型,让后编译器帮你处理一切细节 。
一般而言,你可以认为泛型与其他的类型差不多,只不过他们碰巧有参数罢了 。
Java泛型中的标记符含义:E – Element (在集合中使用,因为集合中存放的是元素)
T – Type(Java 类)
K – Key(键)
V – Value(值)
N – Number(数值类型)
? – 表示不确定的java类型
S、U、V – 2nd、3rd、4th types
使用泛型遇到的问题1.任何基础数据类型都不能作为类型参数:
学习泛型你会发现,Java泛型的限制之一,不能间基础数据类型用作类型参数 。
2.事项参数化接口:
一个类不能同时实现同一个泛型接口的两种变体,由于擦除的原因,这两个变体会成为相同的接口 。
3.转型和警告
使用带有泛型类型参数的转型或instanceof不会有任何效果 。
4.重载
有与擦除的原因,重载方法将产生相同的类型签名 。
5.基类劫持了接口
Java中使用泛型最吸引人的地方就是在容器类中,包括List,各种Set,各种Map 。
泛型优点:当一个对象被放置在容器中时,这个对象会北向上转型为Object,因此你会丢失类型信息 。java如果类型放置错误导致取出的时候会进行强制类型转换,会得到一个RuntimeException,虽然你能发现问题,当时是在运行时发现的而非在编译发现它的 。引入泛型并不会让你误用放入容器中的对象 。


    以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!

    「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助: