码迷,mamicode.com
首页 > 其他好文 > 详细

泛型概述

时间:2020-07-20 22:42:51      阅读:76      评论:0      收藏:0      [点我收藏+]

标签:统一   性能   void   编译   gen   不能   port   int   --   

,泛型
--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);
}
}

泛型概述

标签:统一   性能   void   编译   gen   不能   port   int   --   

原文地址:https://www.cnblogs.com/muchen-123/p/13347157.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!