Java学习笔记24——集合进阶2

泛型

是jdk5中引入的特性,提供了编译时类型的安全监测机制,允许在编译时检测到非法的类型,本质是参数化类型,也就是说所操作的数据类型被指定为一个参数

参数化类型,就是将原来具体的类型参数化,在使用或者调用的时候调如具体的类型

这种参数类型可在类、方法和接口中,分别称为泛型类、泛型方法和泛型接口

定义格式
<类型>:指定一种类型的格式。这里的类型可以看做形参
指定多种类型的格式:
<类型1,类型2,类型3>
将具体调用时给定的类型看做实参,并且实参只能是引用数据类型

好处

  1. 把运行时的问题提前到了编译期间
  2. 避免了强制类型转换

泛型类

格式:
修饰符 class 类名<类型> {}
public class Generic<T>{}
这里的T是任意的,常见的T、E、K、V等形式的参数常用于表示泛型

泛型方法

public class Generic{
	public<T> show(T t){
		System.out.println(t);
	}
}

泛型接口

public interface Generic<T>{
	void show(T t);
}

类型通配符

  1. 为了表示各种泛型List的父类,使用类型通配符
    <?>

  2. List<?>:表示元素类型未知的List,它的元素可以匹配任何的类型,不能吧元素添加到其中

  3. 如果说我们不希望List<?>是任何泛型List的父类,只希望它代表某一类泛型List的父类,可以使用类型通配符的上限==<?extends 类型>==
    如:List<? extends Number>:表示的类型是Number或者其子类型

  4. 还可以用类型通配符指定下限<?super类型>
    List<?super Number>:表示的类型是Number或者其父类

可变参数

可变参数又称参数个数可变,用作方法的形参出现,那么方法参数个数就是可变的了

public void method(int... a){

}

a实际是个数组
多个参数,可变参数放后面

方法特点
List.asList(T… t)不支持增删
List.of(T… t)不支持增删改
Set.of(T… t)不支持增删,没有修改,不能给重复元素
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

广阔天地,大有可为

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值