对于Class<List<T>> 类型,如何进行参数的传入?

奋斗的斗斗 发布于 2017/07/18 16:37
阅读 6K+
收藏 2

如下的代码,如何进行传参

public static <T> List<T> jsonToList2(String json, Class<List<T>> clazz){
		Gson gson = new Gson();
		List<T> array = gson.fromJson(json, clazz);
		return array;
}

 

加载中
2
妹子楼顶有鸽子
妹子楼顶有鸽子
    public static String toJson(Object obj) {
		Gson gson = new Gson();
		return gson.toJson(obj);
	}

    public static <T> T toBean(String json, Type type) {
		Gson gson = new Gson();
		return gson.fromJson(json, type);
	}

	public static Type type(final Class<?> raw, final Type... args) {
		return new ParameterizedType() {
			public Type getRawType() {
				return raw;
			}

			public Type[] getActualTypeArguments() {
				return args;
			}

			public Type getOwnerType() {
				return null;
			}
		};
	}
	
	public static void main(String...args) {
		List<Map<String,String>> lists = Lists.newArrayList();
		for (int i=0;i<2;i++) {
			Map<String,String> bean = Maps.newHashMap();
			bean.put("bean." + i, UUID.randomUUID().toString());
			lists.add(bean);
		}
		String toJson = toJson(lists);
		System.out.println(toJson);
		List<Map<String,String>> values = toBean(toJson, type(List.class, type(Map.class,String.class,String.class)));
		for (Map<String,String> map :values) {
			System.out.println(map);
		}
	}

 

奋斗的斗斗
奋斗的斗斗
非常感谢,可以用,学习了
0
士别三日
奋斗的斗斗
奋斗的斗斗
回复@士别三日 : 能给出具体的代码吗?谢谢
返回顶部
顶部