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- 泛型详解相关推荐

  1. 夯实JAVA基本之一 —— 泛型详解(1):基本使用

    前言:无论何时,相信自己. 相关文章: 1.<夯实JAVA基本之一 -- 泛型详解(1):基本使用> 2.<夯实JAVA基本之一--泛型详解(2):高级进阶> 3.<夯实 ...

  2. 【JAVA基础】java基础之-泛型详解

    写在前面的话 脑子是个好东西,可惜的是一直没有搞懂脑子的内存删除机制是什么,所以啊,入行多年,零零散散的文章看了无数,却总是学习了很多也忘了很多. 痛定思痛的我决定从今天开始系统的梳理下知识架构,记录 ...

  3. java高级之泛型详解

    定义:在java1.5之后推出的. 泛型又叫参数化类型或者类型参数化,在不创建新的类型的情况下,通过泛型指定不同类型来控制形参具体限制的类型,姑且把声明在类上的泛型也叫形参. 泛型应用的意义: 在编译 ...

  4. 【Java数据结构】泛型详解+图文,通配符上界、下界

    0. 泛型的本质 0. 泛型的目的 1. 泛型的语法 1.1 泛型的使用 2. 包装类 2.1 装箱和拆箱 2.2.1练习题 3 .泛型如何编译 4.泛型的上界 5. 通配符 5.1通配符上界 5.2 ...

  5. 最详细的java泛型详解

    来源:最详细的java泛型详解 对java的泛型特性的了解仅限于表面的浅浅一层,直到在学习设计模式时发现有不了解的用法,才想起详细的记录一下. 本文参考java 泛型详解.Java中的泛型方法. ja ...

  6. java 泛型详解-绝对是对泛型方法讲解最详细的,没有之一,大厂 HR 如何面试

    写在最前面,我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家.扫码加微信好友进[程序员面试学习交流群],免费领取.也欢迎各位一起在群里探讨技术. 对j ...

  7. java泛型常用特点_Java泛型详解

    对java的泛型特性的了解仅限于表面的浅浅一层,直到在学习设计模式时发现有不了解的用法,才想起详细的记录一下. 本文参考java 泛型详解.Java中的泛型方法. java泛型详解 1. 概述 泛型在 ...

  8. 泛型java 代码讲解_Java泛型详解

    2516326-5475e88a458a09e4.png 一,打破砂锅问到底 泛型存在的意义? 泛型类,泛型接口,泛型方法如何定义? 如何限定类型变量? 泛型中使用的约束和局限性有哪些? 泛型类型的继 ...

  9. Java泛型详解-史上讲解最详细的,没有之一

    目录 1. 概述 2. 一个栗子 3. 特性 4. 泛型的使用 4.1 泛型类 4.2 泛型接口 4.3 泛型通配符 4.4 泛型方法 4.4.1 泛型方法的基本用法 4.4.2 类中的泛型方法 4. ...

  10. java 泛型详解、Java中的泛型方法、 java泛型详解

    本文参考java 泛型详解.Java中的泛型方法. java泛型详解 概述 泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用. 什么是泛型?为什么要使用泛型? 泛型,即& ...

最新文章

  1. 网站初学笔记3-HTML实用元素3
  2. AjaxControlTookit中的AutoCompleteExtender位置错位问题 ListSearchExtender不支持中文的问题...
  3. 【考研】2022温州大学计算机学硕招收调剂
  4. 前端学习(1779):前端调试之cache原理和查看
  5. 线程安全和可重入函数的联系与区别
  6. 文本分类有哪些论文中很少提及却对性能有重要影响的tricks?
  7. 罗马音平假名片假名转换器_零基础日语萌新该如何学习五十音?
  8. 弹框插件self(动效兼容到IE9,功能兼容IE6)
  9. Dynamic CRM 2013学习笔记(二十二)插件里调用WCF服务
  10. Dll学习心得(2)
  11. 推荐十款很好用的HTML工具编写软件
  12. Python实战 | 完美爬取LOL全英雄皮肤高清原画 JavaScript动态网页
  13. 如何做好国产三维CAD软件的研发?
  14. 为什么许多芯片的CS信号(片选信号)经常都是低电平有效?
  15. 2023 华为 Datacom-HCIE 真题题库 11/12--含解析
  16. matlab画一维波动方程,MATLAB编辑一维波动方程的模拟的程序.doc
  17. 英国内政大臣:维基解密创始人朱丽安·阿桑奇可被引渡到美国
  18. 了解GPIO端口的初始化设置三步骤LED流水灯C语言 寄存器方式编程实现
  19. 在某点邻域有定义_z = f(x, y) 在点 (x0, y0) 的某一邻域内有定义, 当x从x0 取.PPT...
  20. 物联网实验7:wifi模块使用

热门文章

  1. 简述linux常见的安全措施,六个常用的Linux安全基本措施
  2. linux ftp中文乱码方块,Ubuntu下NetBeans中文乱码及方框问题的解决方法
  3. Rank Math Pro v2.17.1 SEO插件
  4. Linux: chmod 和 chown用法小结
  5. 解决WP表前缀更换后出现的You do not have sufficient permission
  6. wordpress获取当前登录用户信息的方法
  7. 苹果Swift语言入门教程【中文版】
  8. 在 PHP 中使用命令行工具
  9. Python实例讲解 -- wxpython 最小到托盘及欢迎图片
  10. 剑指offer 15.二进制中1的个数