Java汎用メソッド汎用コンテナ生成ツールクラス
2342 ワード
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;
}
}