import io.protostuff.LinkedBuffer; import io.protostuff.ProtostuffIOUtil; import io.protostuff.Schema; import io.protostuff.runtime.RuntimeSchema; public class User { private int id; private String name; // ... private static final Schema<User> userSchema = RuntimeSchema.getSchema(User.class); public byte[] serialize() { final LinkedBuffer buffer = LinkedBuffer.allocate(LinkedBuffer.DEFAULT_BUFFER_SIZE); byte[] bytes; try { bytes = ProtostuffIOUtil.toByteArray(this, userSchema, buffer); } finally { buffer.clear(); } return bytes; } public static User deserialize(byte[] bytes) { User user = userSchema.newMessage(); ProtostuffIOUtil.mergeFrom(bytes, user, userSchema); return user; } } public class Main { public static void main(String[] args) { User user = new User(); user.setId(1); user.setName("John"); byte[] serializedData = user.serialize(); User deserializedUser = User.deserialize(serializedData); System.out.println(deserializedUser.getId()); // Output: 1 System.out.println(deserializedUser.getName()); // Output: John } }


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