快捷搜索:  汽车  科技

泛型的原理及使用方法(泛型的概念)

泛型的原理及使用方法(泛型的概念)1、解决元素存储的安全性问题,好比商品、药品标签,不会弄错那么为什么要有泛型呢,直接Object不是也可以存储数据吗?从JDK1.5以后,Java引入了“参数化类型(Parameterized type)”的概念,允许我们在创建集合时再指定集合元素的类型,正如:List<String>,这表明该List只能保存字符串类型的对象。所谓泛型,就是允许在定义类、接口时指定类型参数(我们称为类型形参),这个类型形参将在使用时(例如,继承或实现这个接口,用这个类型声明变量、创建对象时)确定(即传入实际的类型参数,也称为类型实参)。JDK1.5改写了集合框架中的全部接口和类,为这些接口、类增加了泛型支持,从而可以在声明集合变量、创建集合对象时传入类型实参。1 为什么要使用泛型

1 泛型的概念

泛型:标签

举例:超市购物架上很多瓶子,每个瓶子装的是什么,有标签

中药店,每个抽屉外面贴着标签

集合容器类在设计阶段/声明阶段不能确定这个容器到底实际存的是什么类型的对象,所以在JDK1.5之前只能把元素类型设计为Object,JDK1.5之后使用泛型来解决。因为这个时候除了元素的类型不确定,其他的部分是确定的,例如关于这个元素如何保存,如何管理等是确定的,因此此时把元素的类型设计成一个参数,这个类型参数叫做泛型。Collection<E>,List<E>,ArrayList<E> 这个<E>就是类型参数,即泛型

从JDK1.5以后,Java引入了“参数化类型(Parameterized type)”的概念,允许我们在创建集合时再指定集合元素的类型,正如:List<String>,这表明该List只能保存字符串类型的对象。

所谓泛型,就是允许在定义类、接口时指定类型参数(我们称为类型形参),这个类型形参将在使用时(例如,继承或实现这个接口,用这个类型声明变量、创建对象时)确定(即传入实际的类型参数,也称为类型实参)。JDK1.5改写了集合框架中的全部接口和类,为这些接口、类增加了泛型支持,从而可以在声明集合变量、创建集合对象时传入类型实参。

1 为什么要使用泛型

那么为什么要有泛型呢,直接Object不是也可以存储数据吗?

1、解决元素存储的安全性问题,好比商品、药品标签,不会弄错

2、解决获取数据元素时,需要类型强制转换的问题,好比不用每回拿商品、药品都要辨别

泛型的原理及使用方法(泛型的概念)(1)

泛型就是为了解决哪种在声明时不能确定类型,但在使用时才能确定类型的情况

public static void main(String[] args) { /*ArrayList list = new ArrayList(); list.add(1); list.add("java"); list.add(2); //麻烦 int i = (int) list.get(0); //不安全 int j = (int) list.get(1);*/ ArrayList<Integer> list = new ArrayList<Integer>(); list.add(1); // list.add("java");//类型检查,安全 在编译期间就确保类型安全 list.add(2); //省事 int i = list.get(0); int j = list.get(1); }

2 掌握集合中的泛型使用


更多内容:

java技术自定义类型转换器

JDK1.8新增日期时间类型

javascript数据类型有哪些

java编程语言中的数据类型有哪几种

SpringMVC 输出模型数据概述

猜您喜欢: