首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
第一章:泛型的概述
1.1 泛型设计的背景
1.2 泛型是如何设计的?
1.3 泛型的概念
1.4 为什么要有泛型?
1.5 泛型的相关名词
第二章:自定义泛型结构
2.1 概述
2.2 泛型类和泛型接口
2.3 使用泛型类和泛型接口
2.4 类型变量的上限
2.5 泛型擦除
2.6 泛型方法
第三章:类型通配符
3.1 泛型指定限制问题
3.2 类型通配符
3.3 类型通配符的三种使用形式
3.4 类型通配符的理解
3.5 使用类型通配符指定类型参数的问题
当前位置:
首页>>
技术小册>>
Java语言基础11-Java中的泛型
小册名称:Java语言基础11-Java中的泛型
之前在学习方法的时候,我们知道了形参和实参的概念。那么为什么方法有形参呢?是因为方法体的功能实现中,需要外界(使用者)给它提供数据,这个数据在编写方法体的时候,数据值是不确定的(形参),需要在调用方法的时候才能确定(实参),例如:编写一个方法,可以求两个整数的和。 ```bash public class Demo { // 求两个整数的和,其中 a 和 b 是形参 public static void add(int a,int b){ return a + b; } public static void main(String[] args){ int result = add(1,2); // 1 和 2 是实参 System.out.println("result = " + result); } } ``` 受到上面的启发,JDK 1.5 就设计了泛型的概念。当我们在设计某个类的时候,出现了某个成员的类型不确定,需要在使用这个类的时候才能确定,就可以将这个类型作为参数传递。其实可以声明在类、接口或方法中,代表未知的通用的类型(可以对比方法中的形参来理解)。 ```bash package java.util; public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable { // E 就是代表未知的类型,又称为类型形参 public boolean add(E e) { // 添加一个元素到集合中 modCount++; add(e, elementData, size); return true; } // 其余略 } ``` ```bash package com.github.day10.generic; import java.util.ArrayList; import java.util.List; /** * @author maxiaoke.com * @version 1.0 */ public class TestGeneric { public static void main(String[] args) { List<String> list = new ArrayList<>(); // 此时 <E> 就是 <String> list.add("1"); list.add("2"); list.add("3"); list.add("4"); System.out.println("list = " + list); } } ```
上一篇:
1.1 泛型设计的背景
下一篇:
1.3 泛型的概念
该分类下的相关小册推荐:
经典设计模式Java版
Mybatis合辑2-Mybatis映射文件
SpringBoot零基础到实战
Java高并发秒杀入门与实战
SpringBoot合辑-初级篇
java源码学习笔记
Java语言基础2-运算符
深入拆解 Java 虚拟机
Java语言基础16-JDK8 新特性
Mybatis合辑1-Mybatis基础入门
Java语言基础15-单元测试和日志技术
Mybatis合辑5-注解、扩展、SQL构建