1. 程式人生 > >Java泛型巢狀示例

Java泛型巢狀示例

/* 
* 泛型巢狀例項
* date: 2012-10-22
* author: Alex Hohh
*/

// 泛型類Info<K,V>
class Info<K,V>{
	private K key;
	private V value;
	
	// 建構函式
	public Info(K key, V val){
		this.key = key;
		this.value = val;	
	}	
	
	// 設定key
	public void setKey(K k){
		this.key = k;	
	}
	
	// 設定value
	public void setValue(V v){
		this.value = v;	
	}
	
	// 獲取KEY
	public K getKey(){
	  return this.key;	
	}
	
	// 獲取value
	public V getValue(){
		return this.value;		
	}
	
	// 覆寫toString()方法
	public String toString(){
		return "Key: " + this.key + ", Value : " + this.value;
	}
}

// Demo<S>中的S在這代表Info<K,V>,實現泛型巢狀
class Demo<S>{
	
	// 泛型S的物件
	private S info;
	
	// Demo建構函式
	public Demo(S info)	{
		this.info = info;	
	}
	
	// 設定S型別的info
	public void setInfo(S info){
		this.info = info;	
	}
	
	// 獲取info
	public S getInfo(){
		return this.info;	
	}
}

// main
public class GenericEmbeded{
	public static void main(String args[]){
		
		// 例項化Info類物件
		Info<String,Integer> info = new Info<String, Integer>("Alex Hohh",21);
		// 例項化Demo類物件,泛型巢狀
		Demo< Info<String,Integer> > d = new Demo< Info<String,Integer> >( info );

		// 獲取Info<K,V>物件後,再呼叫toString()方法,最後輸出.
		System.out.print( d.getInfo() );					
	}	
}

輸出結果:

相關推薦

Java示例

/* * 泛型巢狀例項 * date: 2012-10-22 * author: Alex Hohh */ // 泛型類Info<K,V> class Info<K,V>{

java 詳解(普通、 萬用字元、 介面,陣列,方法,

JDK1.5 令我們期待很久,可是當他釋出的時候卻更換版本號為5.0。這說明Java已經有大幅度的變化。本文將講解JDK5.0支援的新功能-----Java的泛型. 1、Java泛型  其實Java

Java--應用--介面、方法、陣列、

1、泛型介面 1.1泛型介面的基本概念 1.2泛型介面實現的兩種方式 定義子類:在子類的定義上也宣告泛型型別 interface Info<T>{ // 在介面上定義泛型 pub

使用Gson解析複雜的資料結構

一、Gson Gson是由Google自家出來的Json解析庫,使用起來相容性方面當然會有很多優勢,而且解析Json資料也很方便,掌握了Gson的一些基本使用之後就可以使用它解析很多複雜的Json資料了。但當我們要解析一個複雜的資料結構時,比如說List<

陣列++應用例項

泛型陣列 使用泛型方法時,也可以傳遞和返回一個泛型陣列。 【接收和返回泛型陣列】 @SuppressWarnings("unchecked") public class GeneriseDemo30 { public static void

Java---

泛型巢狀的使用     建立一個PO類/** * 測試泛型的巢狀 * @author Administrator * * @param <T> */ public class Class01<T> { private T stu; p

Java基礎Demo -- 介面的示例

泛型介面 public interface MyInterface<T>{} 的簡單入門示例 /** * 類實現了一個泛型介面,並擴容下 */ interface AI<T> { void sss(T t); } class BI<T,K> imple

Java基礎Demo -- 類的示例

泛型類 public class MyClass<T>{} 的簡單入門示例 /** * 泛型類 class MyClass<T>{} */ class MyGen<T> { private T t; public void setValue(T t){

Java擦除

類型信息 png ive over tool 創建 edit sid 註意點 Java泛型擦除: 什麽是泛型擦除? 首先了解一下什麽是泛型?我個人的理解:因為集合中能夠存儲隨意類型的對象。可是集合中最先存儲的對象類型一旦確定後,就不能在存儲其它類型的

Java

object java 信息 1、泛型的由來  我們先看下面這段代碼:1234567891011121314 List list = new ArrayList();list.add(24); //向集合中添加一個 Integer 類型的數據list.add("Tom");

Java,通配符和C#對照

size list ack ace arr 類型通配符 語法 ++ net c#的泛型沒有類型通配符,原因是.net的泛型是CLR支持的泛型,而Java的JVM並不支持泛型,僅僅是語法糖,在編譯器編譯的時候都轉換成object類型 類型通配符在java中表示的是泛型

Java詳解

對象數組 整形 泛型方法 tty 接受 一個 div -m color 泛型的本質是參數化類型,也就是說所操作的數據類型被指定為一個參數。 假定我們有這樣一個需求:寫一個排序方法,能夠對整形數組、字符串數組甚至其他任何類型的數組進行排序,該如何實現? 答案是可以使用 Ja

JAVA(轉)

強制 off 實例 emp 思想 void 成了 意義 依然 一. 泛型概念的提出(為什麽需要泛型)? 首先,我們看下下面這段簡短的代碼: 1 public class GenericTest { 2 3 public static void

java

car .net arm man blog rman html http archive http://www.cnblogs.com/lwbqqyumidi/p/3837629.html http://blog.csdn.net/sunxianghuang/article

Java與集合筆記

第二章 情況 參數 編譯器 類型擦除 多個參數 一個 each ava 第一章 Java的泛型為了兼容性和防止代碼爆炸,在編譯成字節碼時會進行類型擦除,編譯器自動添加代碼做類型轉換(用到List<Integer>的地方用Integer來做轉換),自動做裝箱拆箱,

Java VS C# (偽 VS 真

功能 方法表 語法 一個 class msil 虛方法 strong 反射 一、泛型的本質 泛型是參數化類型的應用,操作的數據類型不限定於特定類型,可以根據實際需要設置不同的數據類型,以實現代碼復用。 二、Java泛型 Java 泛型是Java1.5新增的特性,JVM並

java中<?>和<T>區別

類型 父類 定義 ext 方法 oid tor 接收 通配符 public static void printColl(ArrayList<?> al){ Iterator<?> it = al.iterator();

第10篇-JAVA 集合框架-JAVA

java集合框架 java泛型 第10篇-JAVA 集合框架-JAVA 泛型每篇一句 :所有的不甘,都是因為還心存夢想初學心得: 不是每件事都註定會成功,但是每件事都值得一試(筆者:JEEP/711)[JAVA筆記 | 時間:2017-04-15| JAVA 集合框架/JAVA 泛型 ]1.JAVA

深入--java的繼承和實現、擦除

部分 end father 沒有 接口 子類 set int nal 泛型實現類: package generic; /** * 泛型父類:子類為“富二代”:子類的泛型要比父類多 * 1,保留父類的泛型-->子類為泛型類

java---通配符,嵌套

sys ram apple port sco java泛型 stat app 繼承鏈 package generic; import java.util.ArrayList; import java.util.List; /** * ? -->通