泛型概述和好处【理解】
泛型概述:它的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。
泛型定义格式:
<类型>:指定一种类型的格式。这里的类型可以看成是形参
<类型1,类型2…>:指定多种类型的格式,多种类型之间用逗号隔开。这里的类型可以看成是形参
将来具体调用时候给定的类型可以看成是实参,并且实参的类型只能是引用数据类型
泛型的好处
- 把运行时期的问题提前到了编译期间
- 避免了强制类型转换
种类
泛型类【应用】
修饰符 class 类名<类型> { }
泛型方法【应用】接收任意一个应用类型
修饰符 <类型> 返回值类型 方法名(类型 变量名) { }
泛型接口【应用】
修饰符 interface 接口名<类型> { }
类型通配符【应用】
类型通配符的作用
为了表示各种泛型List的父类,可以使用类型通配符
类型通配符的分类
类型通配符:<?>
类型通配符上限:<? extends 类型>
类型通配符下限:<? super 类型>
可变参数
可变参数介绍
可变参数又称参数个数可变,用作方法的形参出现,那么方法参数个数就是可变的了
可变参数定义格式
修饰符 返回值类型 方法名(数据类型… 变量名) { }
可变参数的注意事项
- 这里的变量其实是一个数组
- 如果一个方法有多个参数,包含可变参数,可变参数要放在最后
可变参数的使用:
Arrays工具类中有一个静态方法:
- public static <T> List<T> asList(T... a):返回由指定数组支持的固定大小的列表
- 返回的集合不能做增删操作,可以做修改操作
List接口中有一个静态方法:
- public static <E> List<E> of(E... elements):返回包含任意数量元素的不可变列表
- 接口名直接调用
- 返回的集合不能做增删改操作
Set接口中有一个静态方法:
- public static <E> Set<E> of(E... elements) :返回一个包含任意数量元素的不可变集合
- 在给元素的时候,不能给重复的元素
- 返回的集合不能做增删操作,没有修改的方法
本文介绍了泛型的基本概念和优势,包括泛型类、方法和接口的应用,以及类型通配符的使用。泛型允许在编译时检查类型安全,避免了运行时的强制类型转换。同时,可变参数的介绍说明了其在方法参数中的灵活运用,如Arrays.asList()和集合创建方法,使得方法能接受多个参数。这些特性提高了代码的效率和可读性。
2466

被折叠的 条评论
为什么被折叠?



