Java之泛型

来源:互联网 发布:杭州淘宝运营助理招聘 编辑:程序博客网 时间:2024/05/16 15:59


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 parameterprivate 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 MyGenericsjava.lang.Stringjava.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.Stringjava.lang.Integerjava.lang.Doublejava.lang.Floatjava.lang.CharacterGenericMethods

参考博客;


http://www.cnblogs.com/panjun-Donet/archive/2008/09/27/1300609.html
http://developer.51cto.com/art/200909/153983.htm
http://blog.csdn.net/ax003d/article/details/3342467




0 0
原创粉丝点击