我可以让 protoc 在 Java 中生成一个 int 数组吗?

Can I have protoc generate an array of int in Java?

使用 protocol buffers 编译器版本 2.6.0,字段声明为

repeated int32 values = 1;

在 Java 中生成如下字段:

private java.util.List<java.lang.Integer> values;

我要生成:

private int[] values;

以及兼容 setters/getters。这可能开箱即用吗?

不,没有。 array 和 list 需要自己转换。

如果有帮助,请查看 Hadoop 项目。它有很多静态方法来帮助 java 对象和原型对象之间的转换。 PBHelperClient.java。正如你所看到的,数组和列表之间有很多转换。