java泛型

泛   型

Java中的参数化类型被称为泛型,以集合为例,集合可以使用泛型限制被添加元素的数据类型,如果将不符合指定数据类型的元素添加到集合内,编译器就会报错,例如,Demo<String>表明Demo集合只能保存字符串类型的对象,如果将非String类型的对象添加到Demo集合中,编译器就会报错,如下图所示:

说明:因为123的数据类型为int型,而Demo<String>表明Demo合集只能保存字符串类型的对象,所以编译器就会报错。

定义泛型类

定义泛型类的语法如下:

class 类型<T>

其中T代表被传入参数的数据类型,例如,定义个带泛型Book<T>类,传入integer、float、String、boolea、Double数据类型,代码如下:

public class Demo<T>{
	T dy;
	public void set(T dy) {
		this.dy = dy;
	}
	public static void main(String[] args) {
		//创建String数据类型对象
		Demo<String> str1 = new Demo<String>();
		str1.set("123");
		//创建Integer数据类型对象
		Demo<Integer> str2 = new Demo<Integer>();
		str2.set(123);
		//创建Boolean数据类型对象
		Demo<Boolean> str3 = new Demo<Boolean>();
		str3.set(true);
		//创建Float数据类型对象
		Demo<Float> str4 = new Demo<Float>();
		str4.set(1.2F);
		//创建Double数据类型对象
		Demo<Double> str5 = new Demo<Double>();
		str5.set(1.3);
	}
}

说明:在定义泛型类时,一般类型名称使用T来表示,也可以定义别的名称。

泛型的用法

在开发过程中,如果需要动态地指定参数类型,那么就需要使用泛型,泛型的用法:定义泛型类时声明多个类型、定义泛型类时声明数组类型和集合类声明元素的类型。

定义泛型类时声明多个类型

在定义泛型类时,可以声明多个类型,语法如下:

class Demo<T, A, B, C>

其中,Demo为泛型类名称,T,A,B,C代表被传入参数的类型。

如果T,A,B,C分别代表float、String、boolea、Double数据类型,那么使用泛型类Demo<Float,String,Boolean,Double>的有参数构造方法,代码如下:

Demo<Float,String,Boolean,Double> ty = new  Demo<Float,String,Boolean,Double>(1.2F,"123",true,1.3);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值