使用协议缓冲区在 Java 中找不到符号

lin*_*mic 1 java protocol-buffers

我是 google 协议缓冲区的新手,所以我尝试了 Java 教程,一切顺利,直到我尝试创建协议类的实例。所以我尝试制作自己的 proto 文件,但我遇到了同样的问题。问题出在这段代码中:

 AddressBook.Builder address = new AddressBook.newBuilder();
Run Code Online (Sandbox Code Playgroud)

在 newBuilder() 部分,我收到了找不到符号错误。在 protoc 生成的文件中的注释中,它说使用 newBuilder() 来创建类的实例,但我找不到问题。有谁知道这个问题并且有解决方案吗?

Jon*_*eet 5

这就是问题:

new AddressBook.newBuilder();
Run Code Online (Sandbox Code Playgroud)

该语法介于方法调用和构造函数调用之间。newBuilder()只是一个静态方法。您只需要:

AddressBook.Builder builder = AddressBook.newBuilder();
Run Code Online (Sandbox Code Playgroud)