网站首页 > 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,虽然你能发现问题,当时是在运行时发现的而非在编译发现它的。引入泛型并不会让你误用放入容器中的对象。
猜你喜欢
- 2024-10-16 Java泛型详解(完整版)必看(java 泛型 t)
- 2024-10-16 Java泛型最全总结(java泛型的实现原理)
- 2024-10-16 Java高级面试:Java的泛型实现机制是怎么样的?
- 2024-10-16 深入理解 Java 泛型(java泛型的实现原理)
- 2024-10-16 关于Java中的泛型使用你不知道的那些事?
- 2024-10-16 Java泛型机制详解;这些你都知道吗?
- 2024-10-16 Java中的泛型是什么?(java里面的泛型)
- 2024-10-16 学习廖雪峰的JAVA教程---泛型(使用泛型)
- 2024-10-16 Java泛型的好处及实现原理详解(java里泛型)
- 2024-10-16 java中的泛型是什么(java中泛型的理解)
你 发表评论:
欢迎- 最近发表
-
- Java常量定义防暴指南:从"杀马特"到"高富帅"的华丽转身
- Java接口设计原则与实践:优雅编程的艺术
- java 包管理、访问修饰符、static/final关键字
- Java工程师的代码规范与最佳实践:优雅代码的艺术
- 编写一个java程序(编写一个Java程序计算并输出1到n的阶乘)
- Mycat的搭建以及配置与启动(mycat部署)
- Weblogic 安装 -“不是有效的 JDK Java 主目录”解决办法
- SpringBoot打包部署解析:jar包的生成和结构
- 《Servlet》第05节:创建第一个Servlet程序(HelloSevlet)
- 你认为最简单的单例模式,东西还挺多
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)