Class SerializeUtil

java.lang.Object
com.luna.common.text.SerializeUtil

public class SerializeUtil extends Object
序列化工具类
注意!此工具类依赖于JDK的序列化机制,某些版本的JDK中可能存在远程注入漏洞。
Since:
5.6.3
Author:
looly
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static <T> T
    clone(T obj)
    序列化后拷贝流的方式克隆
    对象必须实现Serializable接口
    static <T> T
    deserialize(byte[] bytes)
    反序列化
    对象必须实现Serializable接口
    static <T> byte[]
    serialize(T obj)
    序列化
    对象必须实现Serializable接口

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • SerializeUtil

      public SerializeUtil()
  • Method Details

    • clone

      public static <T> T clone(T obj) throws IOException
      序列化后拷贝流的方式克隆
      对象必须实现Serializable接口
      Type Parameters:
      T - 对象类型
      Parameters:
      obj - 被克隆对象
      Returns:
      克隆后的对象
      Throws:
      IOException - IO异常和ClassNotFoundException封装
    • serialize

      public static <T> byte[] serialize(T obj) throws IOException
      序列化
      对象必须实现Serializable接口
      Type Parameters:
      T - 对象类型
      Parameters:
      obj - 要被序列化的对象
      Returns:
      序列化后的字节码
      Throws:
      IOException
    • deserialize

      public static <T> T deserialize(byte[] bytes) throws IOException
      反序列化
      对象必须实现Serializable接口

      注意!!! 此方法不会检查反序列化安全,可能存在反序列化漏洞风险!!!

      Type Parameters:
      T - 对象类型
      Parameters:
      bytes - 反序列化的字节码
      Returns:
      反序列化后的对象
      Throws:
      IOException