protobuf
syntax = "proto2";
package com.example.proto;
message Person {
required string name = 1;
optional int32 age = 2;
repeated string hobbies = 3;
}
protoc --java_out=<output_directory> <path_to_protos>/person.proto
import com.example.proto.Person;
public class Main {
public static void main(String[] args) {
Person person = Person.newBuilder()
.setName("John Doe")
.setAge(25)
.addHobbies("Reading")
.addHobbies("Sports")
.build();
byte[] serializedData = person.toByteArray();
Person deserializedPerson = Person.parseFrom(serializedData);
String name = deserializedPerson.getName();
int age = deserializedPerson.getAge();
List<String> hobbies = deserializedPerson.getHobbiesList();
System.out.println("Name: " + name);
System.out.println("Age: " + age);
System.out.println("Hobbies: " + hobbies);
}
}