欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

@Marked-List/Set 泛型转换

程序员文章站 2022-04-04 12:37:21
...
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);
	}
}