Java问题总结
Posted wjcx-sqh
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java问题总结相关的知识,希望对你有一定的参考价值。
字节数组相关操作
byte[] --> List<Byte>:Bytes.asList()
List<Byte> --> byte[]:Bytes.toArray()
序列化工具
(1)alibaba
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
(2)google
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
提供一个基于gson的工具类,供参考
public class GsonUtils {
private static Gson gson = new Gson();
private GsonUtils() {}
/* 转成json */
public static String BeanToJson(Object object) {
String gsonString = null;
if (gson != null) { gsonString = gson.toJson(object); }
return gsonString;
}
/* 转成bean */
public static <T> T GsonToBean(String gsonString, Class<T> cls) {
T t = null;
if (gson != null) { t = gson.fromJson(gsonString, cls); }
return t;
}
/* 转成list 泛型在编译期类型被擦除导致报错 */
public static <T> List<T> GsonToList(String gsonString, Class<T> cls) {
List<T> list = null;
if (gson != null) { list = gson.fromJson(gsonString, new TypeToken<List<T>>() { }.getType()); }
return list;
}
public static List<Byte> GsonToListForByte(String gsonString) {
List<Byte> list = null;
if (gson != null) { list = gson.fromJson(gsonString, new TypeToken<List<Byte>>() { }.getType()); }
return list;
}
/* 转成list 解决泛型问题 */
public <T> List<T> jsonToList(String json, Class<T> cls) {
Gson gson = new Gson();
List<T> list = new ArrayList<T>();
JsonArray array = new JsonParser().parse(json).getAsJsonArray();
for (final JsonElement elem : array) { list.add(gson.fromJson(elem, cls)); }
return list;
}
/* 转成list中有map的 */
public static <T> List<Map<String, T>> GsonToListMaps(String gsonString) {
List<Map<String, T>> list = null;
if (gson != null) { list = gson.fromJson(gsonString, new TypeToken<List<Map<String, T>>>(){}.getType()); }
return list;
}
/* 转成map的 */
public static <T> Map<String, T> GsonToMaps(String gsonString) {
Map<String, T> map = null;
if (gson != null) { map = gson.fromJson(gsonString, new TypeToken<Map<String, T>>(){}.getType()); }
return map;
}
}
以上是关于Java问题总结的主要内容,如果未能解决你的问题,请参考以下文章