List/Set 泛型转换

Type typeSet = new TypeToken<Set<Long>>() {}.getType(); 
Type typeList = new TypeToken<List<Long>>() {}.getType();

 

public static void main(String[] args) {
	/*
	 *  #1. Set与gson互转
	 * */
	Set<Long> ids = new HashSet<Long>();
	ids.add(203434L);
	ids.add(453434L);
	
	Type typeSet = new TypeToken<Set<Long>>() {}.getType(); 
	System.out.println(new Gson().toJson(ids));
	
	// 字符串表示
	String s = "[23434,343434]";
	Set<Long> set = new Gson().fromJson(s, typeSet);
	for(long l: set){
		System.out.println(l);
	}
	
	/*
	 * #2. List与gson互转
	 * */ 
	List<Long> list = new ArrayList<Long>();
	list.add(203434L);
	list.add(222L);
	list.add(222L);
	System.out.println(new Gson().toJson(list));
	
	Type typeList = new TypeToken<List<Long>>() {}.getType();
	// 字符串表示list
	String sList = "[203434,222,222]";
	List<Long> lstConvert = new Gson().fromJson(sList, typeList);
	for(long l: lstConvert){
		System.out.println(l);
	}
}

 

猜你喜欢

转载自niewj.iteye.com/blog/2315467