温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java实现byte[]转List的代码怎么写

发布时间:2022-01-27 10:42:20 来源:亿速云 阅读:276 作者:kk 栏目:开发技术

Java实现byte[]转List的代码怎么写,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

前言

其实这个工具是给自己写的,因为自己老是忘记。所以记录一下。

Maven依赖

        <dependency>             <groupId>com.google.guava</groupId>             <artifactId>guava</artifactId>             <version>30.1.1-jre</version>         </dependency>

代码

package ai.guiji.csdn.tools; import com.google.common.primitives.Bytes; import java.util.Arrays; import java.util.List; /** @Author 剑客阿良_ALiang @Date 2022/1/26 14:51 @Description: byte工具 */ public class ByteUtils {   /**    * 字节组转list    *    * @param bytes 字节组    * @return List    */   public static List<Byte> bytesToList(byte[] bytes) {     return Bytes.asList(bytes);   }   /**    * list转字节组    *    * @param list list    * @return byte[]    */   public static byte[] listToBytes(List<Byte> list) {     return Bytes.toArray(list);   }   /**    * 截取bytes    *    * @param bytes 字节组    * @param from 起始位    * @param to 结束位    * @return bytes    */   public static byte[] subBytes(byte[] bytes, int from, int to) {     return Arrays.copyOfRange(bytes, from, to);   } }

代码说明

1、主要通过guava工具包来实现,代码简洁。

补充

java不仅能实现byte[]转List,还能实现Map、List和byte[]互转

Map转换成byte[]可以通过先将Map转换成json,然后再将json转换成byte[],List和byte[]互转思路是一样的。 

//将map转换成byte[]     protected byte[] changeMapToByte(Map<String,String> map) {                  byte[] bytes = null;         try {             bytes = JsonSerilizable.serilizableForMap(map).getBytes();         } catch (Exception e) {             baselog.error("map到byte[]转换异常",e);         }                  return bytes;     }          //将byte[]转换成map     protected Map<String, String> changeByteToMap(byte[] bytes) {                  Map<String, String> retmap = null;           try {             if(bytes != null) {                 retmap = JsonSerilizable.deserilizableForMapFromFile(new String(bytes), String.class);             }else {                 baselog.error("changeByteToMap中bytes为null");             }                      } catch (Exception e) {             baselog.error("byte到map转换异常",e);         }                  return retmap;     }

JsonSerilizable类代码如下:

package com.jd.goldeneye.stat.common;   import java.io.IOException; import java.util.HashMap; import java.util.List; import java.util.Map;   import com.jd.fastjson.JSON; import com.jd.fastjson.TypeReference;   public class JsonSerilizable {       /* 将链表序列化为字符串存入json文件中 */     public static String serilizableForList(Object objList)             throws IOException {           String listString = JSON.toJSONString(objList, true);// (maps,CityEntity.class);                  return listString;     }       /* 将json文件中的内容读取出来,反序列化为链表 */     public static <T> List<T> deserilizableForListFromFile(String listString2,Class<T> clazz)             throws IOException {           List<T> list2 = JSON.parseArray(listString2, clazz);         return list2;     }       /* 将HashMap序列化为字符串存入json文件中 */     public static String serilizableForMap(Object objMap)             throws IOException {           String listString = JSON.toJSONString(objMap, true);// (maps,CityEntity.class);         return listString;     }       /* 将json文件中的内容读取出来,反序列化为HashMap */     public static <T, K> HashMap<K, T> deserilizableForMapFromFile(String listString2,Class<T> clazz) throws IOException {                  Map<K, T> map = JSON.parseObject(listString2, new TypeReference<Map<K, T>>() {});                  return (HashMap<K, T>) map;     }                         //使用方法 注意Entity为随机定义,使用时用自己的类名替换下就可以用了     /*String pathName = "src/test/java/com/...../resources/file.json";     List<Entity> entityList = new ArrayList<Entity>();     JsonSerilizable.serilizableForList(entityList, pathName);     List<Entity> entityList2 = JsonSerilizable             .deserilizableForListFromFile(pathName, Entity.class);               HashMap<Integer, Entity> Map = new HashMap<Integer, Entity>();     JsonSerilizable.serilizableForMap(Map, pathName);     HashMap<Integer, Entity> Map2 = JsonSerilizable             .deserilizableForMapFromFile(pathName, Entity.class);*/   }

测试例子:

//将map转换成byte[]     protected byte[] changeMapToByte(Map<String,String> map) {                  byte[] bytes = null;         try {             bytes = JsonSerilizable.serilizableForMap(map).getBytes();         } catch (Exception e) {             baselog.error("map到byte[]转换异常",e);         }                  return bytes;     }          //将byte[]转换成map     protected Map<String, String> changeByteToMap(byte[] bytes) {                  Map<String, String> retmap = null;           try {             if(bytes != null) {                 retmap = JsonSerilizable.deserilizableForMapFromFile(new String(bytes), String.class);             }else {                 baselog.error("changeByteToMap中bytes为null");             }                      } catch (Exception e) {             baselog.error("byte到map转换异常",e);         }                  return retmap;     }

Java是什么

Java是一门面向对象编程语言,可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI