Java汎用メソッド汎用コンテナ生成ツールクラス


package com.sphere.fanxing;

import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.Queue;
import java.util.Set;

/**
 *          
 *
 */
public class VectorUtils {

	public static <K,V> Map<K, V> map(){
		return new HashMap<K, V>();
	}
	
	public static <T> List<T> list(){
		return new ArrayList<T>();
	}
	
	public static <T> LinkedList<T> iList(){
		return new LinkedList<T>();
	}
	
	public static <T> Set<T> set(){
		return new HashSet<T>();
	}
	
	public static <T> Queue<T> queue(){
		return new LinkedList<T>();
	}
}
package com.sphere.fanxing;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Queue;

public class Test{

	public static void main(String[] args) {
		
		System.out.println(print(new StringBuffer("    ")));;
		
		System.out.println("===========================");
		genericMethod(1.0f,10,"  ");
		
		Map<String, List<String>> sls = VectorUtils.map();
		List<String> list = VectorUtils.list();
		Queue<String> queue = VectorUtils.queue();

		makeList("a","b","c","d","e");
		List<String> ls = makeList("ABCDEFGHIJKLMN".split(""));
		System.out.println(ls);
		
	}
	
	private static <T extends CharSequence> T print(T t){
		String str = "...";
		str = t.toString() + str;
		return (T)str;
	}
	
	/**
	 * x,y,z          
	 * @param x
	 * @param y
	 * @param z
	 */
	private static <T1,T2,T3 extends CharSequence> void genericMethod(T1 x, T2 y, T3 z){
		System.out.println(x.getClass().getName());
		System.out.println(y.getClass().getName());
		System.out.println(z.getClass().getName());
	}
	
	/**
	 *           
	 * @param args
	 * @return
	 */
	public static <T extends CharSequence> List<T> makeList(T... args){
		List<T> list = new ArrayList<T>();
		StringBuilder sb = new StringBuilder();
		for (T item : args) {
			list.add(item);
			sb.append(item);
		}
		System.out.println("list     :"+list.size()+",toString() = "+sb.toString());
		return list;
	}
}