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

原创 2017年01月03日 13:58:12
//加了了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);

    }
}

相关文章推荐

Java byte数组与十六进制字符串互转

Java 加密解密基础 Java byte数组与十六进制字符串互转 Java BASE64加密解密 Java 加密解密之消息摘要算法(MD5 SHA MAC) ...
  • JIESA
  • JIESA
  • 2016年11月14日 17:48
  • 814

Java 字节数组类型(byte[])与int类型互转

public class CommonUtils { //高位在前,低位在后 public static byte[] int2bytes(int num){ byte[] result = ...

密码学2——Java byte数组与十六进制字符串互转

Java中byte用二进制表示占用8位,而我们知道16进制的每个字符需要用4位二进制位来表示。 所以我们就可以把每个byte转换成两个相应的16进制字符,即把byte的高4位和低4位分别转换成相应的...

Java byte数组与十六进制字符串互转

http://aub.iteye.com/blog/1129228 Java byte数组与十六进制字符串互转 Java中byte用二进制表示占用8位,而我们知道16进制的每个字...

java中int与byte数组互转代码详细分析

在java中,可能会遇到将int转成byte[]数组,或者将byte[]数组转成int的情况。下面我们来思考下怎么实现? 首先,分析int在java内存中的存储格式。 众所周知,int类型在内存中占4...

image与字节数组byte的互转

  • 2012年05月17日 12:11
  • 28KB
  • 下载

byte数组与十六进制字符串互转

package mainTest; /** * @see byte数组与十六进制字符串互转 * @author lfc * @date 2014-09-26 */ public class...

C#通信,结构体和byte数组互转

在C#进行UDP或者TCP/IP通信时,jinch

hex字符串与byte数组互转

Toolkit类中的工具方法 /** * hex字符串转byte数组 * 2个hex转为一个byte * @param src * @return */ public st...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java对象和byte数组互转,直接拿去用
举报原因:
原因补充:

(最多只允许输入30个字)