JAVA 泛型

1.1 簡單的泛型類和接口

當指定一個泛型類時,類的聲明包含一個或多個類型參數,這些參數被放在類名後面的一對尖括號裏。用戶可以創建像V<String>和V<Integer>這樣的類型,但是8種基本類型卻不可以,比如V<int>是錯誤的。

     public class v<AnyType> {
  private AnyType storedValue;
  public  AnyType read(){
 return storedValue;
  }
  public void set(AnyType x){
 storedValue = x;
  }

}

 泛型接口。

在JAVA5 以後,Comparable接口是泛型的,代碼如下所示。

import java.lang.*;
public class v<AnyType> {
public interface Comparable<AnyType>
{
public int compareTo(AnyType other);
}


}

1.2 自動裝箱/拆箱

在泛型種基本類型的放入是不可以的,但是Java5以後提供了自動裝箱和拆箱,比如int型量被傳遞到一個需要Integer對象的地方,編譯器會在幕後插入一個隊Integer構造方法的調用,這就是自動裝箱,相反的,Integer對象被放到需要int類型的地方時會自動插入一個intValue方法的調用。這叫做自動拆箱。

package first;


public class boxing {
public static void main(String args[]){
v<Integer> m = new v<>();//此處還是需要標明是Integer類型。

m.set(37);       //此處自動裝箱。
int val = m.read();
System.out.println("value is: " + val);

}

}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章