关闭

java对象和byte数组互转,直接拿去用

223人阅读 评论(0) 收藏 举报
分类:
//加了了Optional防止空指针异常,加入了泛型,省去了强制转化
import java.io.*;
import java.util.Optional;

/**
 * Created by Jason on 2017/1/3.
 */
public class ByteArrayUtils {

    public static<T> Optional<byte[]> objectToBytes(T obj){
        byte[] bytes = null;
        ByteArrayOutputStream out = new ByteArrayOutputStream();
        ObjectOutputStream sOut;
        try {
            sOut = new ObjectOutputStream(out);
            sOut.writeObject(obj);
            sOut.flush();
            bytes= out.toByteArray();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return Optional.ofNullable(bytes);
    }

    public static<T> Optional<T> bytesToObject(byte[] bytes) {
        T t = null;
        ByteArrayInputStream in = new ByteArrayInputStream(bytes);
        ObjectInputStream sIn;
        try {
            sIn = new ObjectInputStream(in);
            t = (T)sIn.readObject();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return Optional.ofNullable(t);

    }
}
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:29956次
    • 积分:1480
    • 等级:
    • 排名:千里之外
    • 原创:123篇
    • 转载:5篇
    • 译文:0篇
    • 评论:6条