泛型概述

Posted muchen-123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了泛型概述相关的知识,希望对你有一定的参考价值。

,泛型
--1,概念
作用就类似于项目经理检查学员是这个班的吗?--做出类型检查.泛型的标志 <元素 的类型>,英文是Generics.是JDK1.5 的一个新特性,其实就是一个『语法糖』,本质上 就是编译器为了提供更好的可读性而提供的一种小手段,小技巧,虚拟机层面是不 存在所谓『泛型』的概念的。
--2,作用
--通过泛型的语法定义,约束集合元素的类型,进行安全检查,把错误显示在编译期
--代码通用性更强,后面有案例
--泛型可以提升程序代码的可读性,但它只是一个语法糖(编译后这样的东西就被删除, 不出现在最终的源代码中),对于JVM运行时的性能是没有任何影响的。
--3,泛型使用的位置
--类/接口上 -- public class Student<E>{}
--方法上 --public <E> void eat(E e){}
--4,测试
package cn.tedu.collection;

import java.util.ArrayList;
import java.util.List;

// 测试 泛型
public class Test2_Generics {
public static void main(String[] args) {
//泛型来是想要模拟数组--统一数据类型--编译期就报错
// String[] a = {"1","c","av",123,1.1};

//泛型的作用--检查集合中的元素类型 --如果类型不对,编译期报错
List list = new ArrayList();
//集合中可以添加任意类型的数据!!!---太自由!!!
list.add(1.1);
list.add(10);
list.add(true);
list.add("jack");
System.out.println(list);

//想要约束集合中的元素类型?--泛型
List<String> list2 = new ArrayList();
list2.add("jack");
//添加失败,因为元素的类型,没有通过泛型的类型String检查
// list2.add(1.1);
// list2.add(5);
// list2.add(false);
//泛型里约束的元素的类型,必须是引用类型,不能是基本类型
List<Integer> list3 = new ArrayList<>();
list3.add(1);
list3.add(2);
list3.add(3);
}
}

以上是关于泛型概述的主要内容,如果未能解决你的问题,请参考以下文章

泛型概述

《Java架构筑基》从Java基础讲起——泛型的使用

Java——泛型

Java基础---泛型

-1-Generic泛型深入

泛型详解