java_泛型方法使用实例

//提供两种使用情况,第二种情况定义前者是后者的子类-类型通配方式

 

package ming;
import java.util.ArrayList;
import java.util.Collection;

public class GenericMethodTest {

	static <T> void fromArraytoCollection(T[] a, Collection<T> c) {
		for (T o : a) {
			c.add(o);
		}
	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//T stand for Object
		Object[] oa = new Object[100];
		Collection<Object> co = new ArrayList<Object>();
		fromArraytoCollection(oa,co);
		
		//T stand for Number
		Integer[] ia = new Integer[100];
		Float[] fa = new Float[100];
		Collection<Number> cn = new ArrayList<Number>();
		
		fromArraytoCollection(ia,cn);
		fromArraytoCollection(fa,cn);
		
		
	}

}

 

package ming;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

public class GenericMethodTest {

	static <T> void fromArraytoCollection(Collection<? extends T> from,
			Collection<T> to) {
		for (T ele : from) {
			to.add(ele);
		}
	}

	public static void main(String[] args) {
		List<Object> ao = new ArrayList<Object>();
		List<String> as = new ArrayList<String>();
		// string is subclass of object
		fromArraytoCollection(as, ao);

	}

}


 

 

posted @ 2013-08-21 01:02  MrMrCash  阅读(380)  评论(0编辑  收藏  举报