最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java實現(xiàn)byte[]轉List的示例代碼

 更新時間:2022年02月26日 16:11:15   作者:劍客·阿良  
byte,即字節(jié),由8位的二進制組成。在Java中,byte類型的數(shù)據(jù)是8位帶符號的二進制數(shù)。List?是一個接口,它繼承于Collection的接口。它代表著有序的隊列。本文將介紹如何通過java實現(xiàn)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 {
  /**
   * 字節(jié)組轉list
   *
   * @param bytes 字節(jié)組
   * @return List
   */
  public static List<Byte> bytesToList(byte[] bytes) {
    return Bytes.asList(bytes);
  }

  /**
   * list轉字節(jié)組
   *
   * @param list list
   * @return byte[]
   */
  public static byte[] listToBytes(List<Byte> list) {
    return Bytes.toArray(list);
  }

  /**
   * 截取bytes
   *
   * @param bytes 字節(jié)組
   * @param from 起始位
   * @param to 結束位
   * @return bytes
   */
  public static byte[] subBytes(byte[] bytes, int from, int to) {
    return Arrays.copyOfRange(bytes, from, to);
  }
}

代碼說明

1、主要通過guava工具包來實現(xiàn),代碼簡潔。

補充

java不僅能實現(xiàn)byte[]轉List,還能實現(xiàn)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文件中的內(nèi)容讀取出來,反序列化為鏈表 */
    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文件中的內(nèi)容讀取出來,反序列化為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實現(xiàn)byte[]轉List的示例代碼的詳細內(nèi)容,更多關于Java byte[]轉List的資料請關注腳本之家其它相關文章!

相關文章

  • java數(shù)據(jù)結構基礎:循環(huán)鏈表和棧

    java數(shù)據(jù)結構基礎:循環(huán)鏈表和棧

    這篇文章主要介紹了Java數(shù)據(jù)結構之循環(huán)鏈表、棧的實現(xiàn)方法,結合實例形式分析了Java數(shù)據(jù)結構中循環(huán)鏈表、棧、的功能、定義及使用方法,需要的朋友可以參考下
    2021-08-08
  • java中關于文本文件的讀寫方法實例總結

    java中關于文本文件的讀寫方法實例總結

    這篇文章主要介紹了java中關于文本文件的讀寫方法,實例總結了Java針對文本文件讀寫的幾種常用方法,并對比了各個方法的優(yōu)劣及特點,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-11-11
  • java啟動jar包修改JVM默認內(nèi)存問題

    java啟動jar包修改JVM默認內(nèi)存問題

    這篇文章主要介紹了java啟動jar包修改JVM默認內(nèi)存問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • springboot+dynamicDataSource動態(tài)添加切換數(shù)據(jù)源方式

    springboot+dynamicDataSource動態(tài)添加切換數(shù)據(jù)源方式

    這篇文章主要介紹了springboot+dynamicDataSource動態(tài)添加切換數(shù)據(jù)源方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • java書店系統(tǒng)畢業(yè)設計 總體設計(1)

    java書店系統(tǒng)畢業(yè)設計 總體設計(1)

    這篇文章主要介紹了java書店系統(tǒng)畢業(yè)設計,第一步系統(tǒng)總體設計,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • 詳解spring cloud hystrix請求緩存(request cache)

    詳解spring cloud hystrix請求緩存(request cache)

    這篇文章主要介紹了詳解spring cloud hystrix請求緩存(request cache),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • Springboot Activemq整合過程代碼圖解

    Springboot Activemq整合過程代碼圖解

    這篇文章主要介紹了Springboot Activemq整合過程代碼圖解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • Java順序查找算法詳解

    Java順序查找算法詳解

    順序查找又稱線性查找,主要用于在線性表中進行查找。順序查找通常分為對一般的無序線性表的順序查找和對按關鍵字有序的順序表的順序查找,下面我們來一探究竟
    2022-08-08
  • Spring中Eureka的服務下線詳解

    Spring中Eureka的服務下線詳解

    這篇文章主要介紹了Spring中Eureka的服務下線詳解,根據(jù)默認的策略,如果在一定的時間內(nèi),客戶端沒有向注冊中心發(fā)送續(xù)約請求,那么注冊中心就會將該實例從注冊中心移除,需要的朋友可以參考下
    2023-11-11
  • Java中的異常和處理機制實例詳解

    Java中的異常和處理機制實例詳解

    這篇文章主要介紹了Java中的異常和處理機制,結合實例形式詳細分析了Java異常與處理機制的相關概念、原理、用法及操作注意事項,需要的朋友可以參考下
    2019-05-05

最新評論

松阳县| 新安县| 唐山市| 突泉县| 昆山市| 洮南市| 灵寿县| 临沭县| 田林县| 阜康市| 荆门市| 德清县| 伊通| 开江县| 武隆县| 高雄县| 商城县| 万全县| 游戏| 邻水| 盈江县| 蓝山县| 陆良县| 江华| 堆龙德庆县| 永川市| 桂平市| 佳木斯市| 和硕县| 米泉市| 任丘市| 内黄县| 博客| 蓝田县| 克什克腾旗| 万荣县| 六枝特区| 白朗县| 内丘县| 襄垣县| 阳东县|