泛型

简介: 泛型

List中添加元素存在的问题

  1. 往集合当中存储元素,可以存任何类型元素

//1.往集合当中存储元素,可以存任何类型元素
List list = new ArrayList();
list.add(1);
list.add("abc");
//取出来全是Object
Object obj = list.get(1);
//现在想要使用字符串当中 特有的方法 ,必须得要转回来
String str = (String)obj;
str.substring(0, 1);

没有泛型存在的问题



泛型概念

什么是泛型

广泛通用的类型,一开始还不确定是什么类型,在使用的时候,才能确定是什么类型,

  1. 在开始定义类的时候,留一个插口
  2. 在创建对象的时候,再去插入对应的类型

泛型注意点

  1. 泛型前后类型必须得要保持一致
  2. 从 JAVA7 开始,后面的类型可以不写 new ArrayList<>(); 菱形语法
  3. 泛型是没有继承
  4. 泛型其实是一个语法糖。(本质还是Object 内部其实 还是要做强转)

没有使用泛型的List


泛型类

在类上面定义的泛型,在创建对象的时候,要指明泛型的类型, 泛型当中定义的泛型只能用在普通方法上面,不能使用在静态方法上面,静态方法是直接使用类名调用,泛型是在创建对象的时候,才去指定类型

泛型方法

就是在方法上面添加了泛型,单独对一个方法上面声明泛型,方法当中定义的泛型

自定义泛型方法

通配符

不知道使用什么类型来接收的时候,可以使用?表示未知,通配符只用来做接收使用,不能做添加操作


泛型的上限

泛型的上限:用来限定元素的类型必须得指定类型(Number)的子类<或者是指定类型或者指定类的子类>

泛型的下限

用来限定元素的类型必须得指定类型(Number)的父类(或者是指定的类)

泛型擦除(把泛型给去掉)

把一个有泛型集合 赋值给了一个没有泛型的集合最后就没有 泛型 -> 泛型擦除(把泛型给去掉)

相关文章
|
6月前
|
存储 算法 容器
什么是泛型?
什么是泛型?
25 0
|
6月前
什么是泛型,泛型的具体使用?
什么是泛型,泛型的具体使用?
35 0
|
6月前
|
存储 安全 Java
这还是你认识的泛型吗???!
这还是你认识的泛型吗???!
46 0
|
6月前
|
存储 Java
什么是泛型, 泛型的具体使用?
什么是泛型, 泛型的具体使用?
|
Java
泛型讲解
本章讲解了什么是泛型以及泛型擦除相关的知识点
82 1
|
安全 JavaScript Java
泛型中的 T、E、K、V、?等等,究竟是啥?
泛型中的 T、E、K、V、?等等,究竟是啥?
泛型中的 T、E、K、V、?等等,究竟是啥?
|
安全 Java 编译器
第10章 泛型
泛型是什么,以及泛型怎么用。
120 0
|
算法 安全 Java
|
安全 Java 编译器
你了解泛型吗?
面向对象编程中,多态算是一种泛化机制。你可以将方法的参数类型设置为基类,那么该方法就可以接受从这个基类中导出的任何类作为参数,这样的方法将会更具有通用性。此外,如果将方法参数声明为接口,将会更加灵活。
|
存储 开发框架 安全
一文搞定泛型知识
一文搞定泛型知识
98 0