Java记录 -73- 泛型详解
JDK5.0中新特性介绍:
泛型(Generics);
增强的“for”循环(Enhanced For loop);
自动装箱/自动拆箱(Autoboxing/unboxing);
类型安全的枚举(Type safe enums);
静态导入(Static import);
可变参数(Var args);
泛型是JDK1.5中一个最重要的特性。通过引入泛型,我们将获得编译时类型的安全和运行时更小的抛出ClassCastException的可能。
如果使用泛型,只要代码在编译时没有出现警告,就不会遇到运行时ClassCastException。
在JDK1.5中,你可以声明一个集合将接收/返回的对象的类型。
public static void main(String[] args){List list = new ArrayList();list.add("hello");list.add(11);list.add(true);for(int i=0;i<list.size();i++){System.out.println((String)list.get(i));}}
上面的程序在编译的时候可以顺利通过,但在运行的时候则抛出以下异常:
Exception in thread "main" java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Stringat my.arraylist.ArrayListTest3.main(ArrayListTest3.java:15)
如果异常能提前发现,就好了。编译时的错误修改要比运行时的错误修改简单多了。
泛型就给我们提供了这样一个机制,让上面的错误可以提前出现,即编译时期就暴露出来。
public static void main(String[] args){List<String> list = new ArrayList<String>();list.add("hello");//在编译时以下两行会提示以下错误,无法编译通过//The method add(int, String) in the type List<String> is not applicable for the arguments (int)list.add(11);list.add(true);for(int i=0;i<list.size();i++){System.out.println((String)list.get(i));}}
转载于:https://blog.51cto.com/zlfwmm/1711009
Java记录 -73- 泛型详解相关推荐
- 夯实JAVA基本之一 —— 泛型详解(1):基本使用
前言:无论何时,相信自己. 相关文章: 1.<夯实JAVA基本之一 -- 泛型详解(1):基本使用> 2.<夯实JAVA基本之一--泛型详解(2):高级进阶> 3.<夯实 ...
- 【JAVA基础】java基础之-泛型详解
写在前面的话 脑子是个好东西,可惜的是一直没有搞懂脑子的内存删除机制是什么,所以啊,入行多年,零零散散的文章看了无数,却总是学习了很多也忘了很多. 痛定思痛的我决定从今天开始系统的梳理下知识架构,记录 ...
- java高级之泛型详解
定义:在java1.5之后推出的. 泛型又叫参数化类型或者类型参数化,在不创建新的类型的情况下,通过泛型指定不同类型来控制形参具体限制的类型,姑且把声明在类上的泛型也叫形参. 泛型应用的意义: 在编译 ...
- 【Java数据结构】泛型详解+图文,通配符上界、下界
0. 泛型的本质 0. 泛型的目的 1. 泛型的语法 1.1 泛型的使用 2. 包装类 2.1 装箱和拆箱 2.2.1练习题 3 .泛型如何编译 4.泛型的上界 5. 通配符 5.1通配符上界 5.2 ...
- 最详细的java泛型详解
来源:最详细的java泛型详解 对java的泛型特性的了解仅限于表面的浅浅一层,直到在学习设计模式时发现有不了解的用法,才想起详细的记录一下. 本文参考java 泛型详解.Java中的泛型方法. ja ...
- java 泛型详解-绝对是对泛型方法讲解最详细的,没有之一,大厂 HR 如何面试
写在最前面,我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家.扫码加微信好友进[程序员面试学习交流群],免费领取.也欢迎各位一起在群里探讨技术. 对j ...
- java泛型常用特点_Java泛型详解
对java的泛型特性的了解仅限于表面的浅浅一层,直到在学习设计模式时发现有不了解的用法,才想起详细的记录一下. 本文参考java 泛型详解.Java中的泛型方法. java泛型详解 1. 概述 泛型在 ...
- 泛型java 代码讲解_Java泛型详解
2516326-5475e88a458a09e4.png 一,打破砂锅问到底 泛型存在的意义? 泛型类,泛型接口,泛型方法如何定义? 如何限定类型变量? 泛型中使用的约束和局限性有哪些? 泛型类型的继 ...
- Java泛型详解-史上讲解最详细的,没有之一
目录 1. 概述 2. 一个栗子 3. 特性 4. 泛型的使用 4.1 泛型类 4.2 泛型接口 4.3 泛型通配符 4.4 泛型方法 4.4.1 泛型方法的基本用法 4.4.2 类中的泛型方法 4. ...
- java 泛型详解、Java中的泛型方法、 java泛型详解
本文参考java 泛型详解.Java中的泛型方法. java泛型详解 概述 泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用. 什么是泛型?为什么要使用泛型? 泛型,即& ...
最新文章
- 网站初学笔记3-HTML实用元素3
- AjaxControlTookit中的AutoCompleteExtender位置错位问题 ListSearchExtender不支持中文的问题...
- 【考研】2022温州大学计算机学硕招收调剂
- 前端学习(1779):前端调试之cache原理和查看
- 线程安全和可重入函数的联系与区别
- 文本分类有哪些论文中很少提及却对性能有重要影响的tricks?
- 罗马音平假名片假名转换器_零基础日语萌新该如何学习五十音?
- 弹框插件self(动效兼容到IE9,功能兼容IE6)
- Dynamic CRM 2013学习笔记(二十二)插件里调用WCF服务
- Dll学习心得(2)
- 推荐十款很好用的HTML工具编写软件
- Python实战 | 完美爬取LOL全英雄皮肤高清原画 JavaScript动态网页
- 如何做好国产三维CAD软件的研发?
- 为什么许多芯片的CS信号(片选信号)经常都是低电平有效?
- 2023 华为 Datacom-HCIE 真题题库 11/12--含解析
- matlab画一维波动方程,MATLAB编辑一维波动方程的模拟的程序.doc
- 英国内政大臣:维基解密创始人朱丽安·阿桑奇可被引渡到美国
- 了解GPIO端口的初始化设置三步骤LED流水灯C语言 寄存器方式编程实现
- 在某点邻域有定义_z = f(x, y) 在点 (x0, y0) 的某一邻域内有定义, 当x从x0 取.PPT...
- 物联网实验7:wifi模块使用
热门文章
- 简述linux常见的安全措施,六个常用的Linux安全基本措施
- linux ftp中文乱码方块,Ubuntu下NetBeans中文乱码及方框问题的解决方法
- Rank Math Pro v2.17.1 SEO插件
- Linux: chmod 和 chown用法小结
- 解决WP表前缀更换后出现的You do not have sufficient permission
- wordpress获取当前登录用户信息的方法
- 苹果Swift语言入门教程【中文版】
- 在 PHP 中使用命令行工具
- Python实例讲解 -- wxpython 最小到托盘及欢迎图片
- 剑指offer 15.二进制中1的个数