java protobuf使用代码示例
时间: 2024-01-24 07:16:00 浏览: 101
以下是Java中使用Protobuf的代码示例:
1. 导入Protobuf库:
```java
implementation 'com.google.protobuf:protobuf-java-util:3.4.0'
```
2. 创建Protobuf消息类:
```java
syntax = "proto3";
message Student {
string name = 1;
int32 age = 2;
repeated string courses = 3;
}
```
3. 使用Protobuf生成Java类:
```shell
protoc --java_out=. student.proto
```
4. 在Java代码中使用Protobuf:
```java
import com.example.proto.Student;
// 创建一个Student对象
Student student = Student.newBuilder()
.setName("John")
.setAge(20)
.addCourses("Math")
.addCourses("English")
.build();
// 将Student对象序列化为字节数组
byte[] studentBytes = student.toByteArray();
// 将字节数组反序列化为Student对象
Student deserializedStudent = Student.parseFrom(studentBytes);
// 访问Student对象的属性
String name = deserializedStudent.getName();
int age = deserializedStudent.getAge();
List<String> courses = deserializedStudent.getCoursesList();
```
阅读全文
相关推荐


















