import io.protostuff.runtime.RuntimeSchema; import io.protostuff.SerializableObjects; public class User { private String name; private int age; public byte[] serialize() { User user = this; LinkedBuffer buffer = LinkedBuffer.allocate(LinkedBuffer.DEFAULT_BUFFER_SIZE); try { Schema<User> schema = RuntimeSchema.getSchema(User.class); return ProtostuffIOUtil.toByteArray(user, schema, buffer); } finally { buffer.clear(); } } public static User deserialize(byte[] data, Class<User> userClass) { User user = userClass.newInstance(); Schema<User> schema = RuntimeSchema.getSchema(User.class); ProtostuffIOUtil.mergeFrom(data, user, schema); return user; } } public class Main { public static void main(String[] args) { User user = new User("John", 25); byte[] serializedData = user.serialize(); User deserializedUser = User.deserialize(serializedData, User.class); System.out.println(deserializedUser.getName()); System.out.println(deserializedUser.getAge()); } }


上一篇:
下一篇:
切换中文