Java之泛型



1. 什么是泛型

泛型是Java中编写程序代码的一种机制。可以理解为参数化类型,类似于c++中的模板类。

2. 引入泛型的原因

泛型正是我们需要的程序设计手段。使用泛型机制编写的程序代码要比那些杂乱地使用Object变量,然后再进行强制类型转换的代码具有更好的安全性和可读性。泛型提供了一个更好的解决方案:类型参数。类型参数使程序具有更好的可读性和安全性

3. 泛型类声明

与普通类不同的是泛型类类名后加一对尖括号,类定义中的类型变量指定方法的返回类型以及域和局部变量的类型

class className<E>{//E即为类型参数

  …

}

4. 泛型类使用

使用泛型定义对象时要在尖括号中指明具体的类类型

className<String> s=newclassName<String> (new String());

className<Integer> i=newclassName<Integer>(new Integer());

5. 多个类变量

class className<E,U,S,…>{//E即为类型参数

}

6.  一个泛型例子

public class MyGenerics<E>{//E is a type parameter
	private E a;
	public MyGenerics(E a){this.a=a;}
	public void set(E a){this.a=a;}
	public E get(){return a;}
	public void inspect(){
		System.out.println(a.getClass().getName());
	}
	public static void main(String[] args) {
		MyGenerics<String> s=new MyGenerics<String> (new String());
		s.inspect();
		MyGenerics<Integer> m=new MyGenerics<Integer> (new Integer(10));
		m.inspect();
	}

}
 运行结果:
C:\Users\Administrator\Desktop>java MyGenerics
java.lang.String
java.lang.Integer

 

7.泛型方法

public class GenericMethods{
	public <T> void f(T x){
		System.out.println(x.getClass().getName());
	}
	public static void main(String[] args) {
		GenericMethods gm=new GenericMethods();
		gm.f("");
		gm.f(1);
		gm.f(1.0);
		gm.f(1.0F);
		gm.f('c');
		gm.f(gm);
	}
}
运行结果:
java.lang.String
java.lang.Integer
java.lang.Double
java.lang.Float
java.lang.Character
GenericMethods

参考博客;





  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值