Class SerializeKit

java.lang.Object
org.miaixz.bus.core.xyz.SerializeKit

public class SerializeKit extends Object
序列化工具类 注意!此工具类依赖于JDK的序列化机制,某些版本的JDK中可能存在远程注入漏洞。
Since:
Java 17+
Author:
Kimi Liu
  • 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, Class<?>... acceptClasses)
    反序列化 对象必须实现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

    • SerializeKit

      public SerializeKit()
  • Method Details

    • clone

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

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

      public static <T> T deserialize(byte[] bytes, Class<?>... acceptClasses)
      反序列化 对象必须实现Serializable接口

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

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