程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> J2SE >> 用J2SE 5.0創建定制的泛型集合(1)

用J2SE 5.0創建定制的泛型集合(1)

編輯:J2SE

J2SE 5.0引入了許多新型的集合API-你需要了解它們以便能夠正確地實現泛型定制的集合-它可以無縫地與多種類型和新型的"for each"結構一起工作。本文將向你展示示怎樣創建與J2SE最新特征相兼容的集合。

一、創建支持泛型的類

首先,你必須學習如何創建一個允許存在"泛型類型"的類。這意味著無論何時實例化你的類,你都能夠指定一個或多個Java類型與該類相關聯。為了說明這個問題,請考慮列表1中的一個簡單示例類。

注意,列表1中的類是如何聲明的。它在尖括號之間指定三個泛型。這些泛型是真實類型的占位符。當你聲明一個這種類型的類時,你可以指定一個類來代替ONE,TWO和THREE。如果你不這樣做,那麼該類將使用Object的默認類型。

這個類顯示出怎樣設計一個類來接收三個泛型類型。當你創建一個這種類型的類時你要支持准確的類型。

列表1.泛型類:

package com.heatonresearch.examples.collections;
public class Example<ONE, TWO, THREE> {
  private ONE one;
  private TWO two;
  private THREE three;
  public ONE getOne() { return one; }
  public void setOne(ONE one) { this.one = one; }
  public THREE getThree() { return three; }
  public void setThree(THREE three) { this.three = three; }
  public TWO getTwo() { return two; }
  public void setTwo(TWO two) { this.two = two; }
  public static void main(String args[]) {
   Example<Double, Integer, String> example = new
   Example<Double, Integer, String>();
   example.setOne(1.5);
   example.setTwo(2);
   example.setThree("Three");
  }
}

下面是如何實例化一個Example類型的類的情形:

Example example=new Example();

前面的代碼將代替具體的Double,Integer和String類型-相當於在列表1中的"ONE"、"TWO"和"THREE"占位符。你可以看到這些變量都有這些類型,通過下面三行設置它們的值。

example.setOne(1.5);
example.setTwo(2);
example.setThree("Three");

現在,既然你已經知道如何創建一個使用泛型的定制類,那麼創建一個使用泛型的定制集合類則更為簡單些。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved