您的位置:首页 > 编程语言 > Java开发

Java泛型编程快速入门

2009-04-22 18:35 696 查看
 JDK1.5 令我们期待很久,可是当他发布的时候却更换版本号为5.0。这说明Java已经有大幅度的变化。本文将讲解JDK5.0支持的新功能-----Java的泛型.
1、Java泛型
  其实Java的泛型就是创建一个用类型作为参数的类。就象我们写类的方法一样,方法是这样的method(String str1,String str2 ),方法中参数str1、str2的值是可变的。而泛型也是一样的,这样写class Java_Generics<K,V>,这里边的K和V就象方法中的参数str1和str2,也是可变。

2.
Java泛型的用法:
可以对hashtable,Vector已有窗口进行处理.
可以自定义泛型类.
3.
使用泛型的好处:
1),数据类型转换,避免数据转换时被破坏.
Hashtable h = new Hashtable();
h.put(new Integer(0), "value");
String s = (String)h.get(new Integer(0));
System.out.println(s);
Hashtable<Integer, String> h = new Hashtable<Integer, String>();
h.put(new Integer(0), "value");
String s = h.get(0);

下面看看例子:

import Java.util.Hashtable;
class TestGen0<K,V>{
 public Hashtable<K,V> h=new Hashtable<K,V>();
 public void put(K k, V v) {
  h.put(k,v);
 }
 public V get(K k) {
  return h.get(k);
 }
 public static void main(String args[]){
  TestGen0<String,String> t=new TestGen0<String,String>();
  t.put("key", "value");
  String s=t.get("key");
  System.out.println(s);
 }
}
正确输出:value

编写泛型类要注意:
  1) 在定义一个泛型类的时候,在 “<>”之间定义形式类型参数,例如:“class TestGen<K,V>”,其中“K” , “V”不代表值,而是表示类型。
  2) 实例化泛型对象的时候,一定要在类名后面指定类型参数的值(类型),一共要有两次书写。例如:
TestGen<String,String> t=new TestGen<String,String>();
  3) 泛型中<K extends Object>,extends并不代表继承,它是类型范围限制。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: