java 方法泛型_Java基础学习,什么是泛型概念,使用泛型有哪些好处?

一般的类和方法,只能使用具体的类型,要么是基础数据类型,要么是自定义类。

如果要编写可以应用与多种类型的代码,这种刻板的限制对代码的束缚就会很大。

056092d3df5e2be73c9af4cad797a14b.png

泛型的字面概念:

适合用于许多类型。

在面向对象中,多态算是一种泛化机制。

泛型的使用例子:

在如图的例子中T就是类型参数

4d321582ee192afec9aa6047daff2bb9.png

当你创建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.基类劫持了接口

8caf439589da4c62702417ca34128613.png

Java中使用泛型最吸引人的地方就是在容器类中,包括List,各种Set,各种Map。

泛型优点:

当一个对象被放置在容器中时,这个对象会北向上转型为Object,因此你会丢失类型信息。java如果类型放置错误导致取出的时候会进行强制类型转换,会得到一个RuntimeException,虽然你能发现问题,当时是在运行时发现的而非在编译发现它的。引入泛型并不会让你误用放入容器中的对象。

大家来和我一起学JAVA吧,本篇介绍JAVA泛型主要特性。接下来会继续总结JAVA相关技术,求围观!可惜平台不适合写代码,手机看会比较乱。

下一章预告:LinkedList

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值