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
- java之泛型
- java之泛型
- Java 之泛型
- Java之泛型
- java之泛型
- Java之泛型
- Java之泛型
- JAVA之泛型
- Java之泛型
- Java之泛型
- java之泛型
- Java之泛型
- Java之泛型
- java之泛型
- Java之泛型
- java之泛型
- java之泛型
- java基础-Java之泛型
- Codeforces 453C Little Pony and Summer Sun Celebration dfs树上构造
- [读书笔记]人人都是产品经理
- mongodb 连接池
- 无法应用变更! 请先修复损毁的软件包
- 【初学python】错误SSLError: [Errno 1] _ssl.c:504:的解决记录
- Java之泛型
- MSRA实习结束
- ZOJ 1633 Big String(模拟构造)
- 关于从字符串中提取一串数字的代码
- java awt 页面布局
- hdu 2188
- hdu 2516
- Jetty学习(一)嵌入应用之Helloworld
- 修改vs2010编译器不支持inttypes.h的问题