Java泛型的介紹和定義

1、自定義泛型方法

package com.java.b;

import org.junit.Test;

/**
 * Java 方法 自定義泛型
 * @author TS
 *
 */
public class IGenericMethod {

	/**
	 * 方法聲明泛型
	 * <T>:使用這個泛型T
	 * @param t :聲明一個泛型T
	 * 要先聲明<T>在使用T
	 */
	public <T> void one(T t){

	}

	/**
	 * 方法聲明泛型
	 * 傳統的未使用泛型的方法
	 * @param t
	 * @return
	 */
	public Object two(Object t){
		return t;
	}

	/**
	 * 方法聲明泛型
	 * 使用泛型獲取返回值就不須要強轉
	 * @param t
	 * @return
	 */
	public <T> T generic(T t){
		return t;
	}
	
	/**
	 * 方法聲明泛型
	 * 聲明多個泛型
	 * @param t
	 * @return
	 */
	public <T,E> T manyGeneric(T t,E e){
		return t;
	}

	@Test
	public void test(){
		IGenericMethod igeneric = new IGenericMethod();
		//傳統
		String s = (String) igeneric.two("字符串向上轉型爲Object");	//須要強轉
		System.out.println(s);
		
		//泛型
		String s1 = igeneric.generic("使用泛型的字符串不須要強轉");
		System.out.println(s1);
	}
}

2、自定義泛型類

Java類自定義泛型java

  若是每一個方法上都自定義泛型會很麻煩spa

  因此就能夠在Java類上聲明泛型,就能夠做用在整個類上了code

  靜態方法上使用泛型要從新在靜態方法上聲明泛型,類聲明的泛型無效字符串

package com.java.b;

import org.junit.Test;

/**
 * @author TS
 */
public class IGenericClass<T,E> {

	public void one(T t){}
	
	public Object two(Object t){
		return t;
	}

	public T generic(T t){
		return t;
	}
	
	public T manyGeneric(T t,E e){
		return t;
	}

	@Test
	public void test(){}
}
相關文章
相關標籤/搜索