Я новичок в буферах протокола Google и пытаюсь смоделировать примитивный массив int[]
в java с помощью сообщения protobuf. * 1002 *
В настоящее время я использую этот файл прото:
syntax = "proto3";
package protobuf;
message primitiveArrayMsg {
repeated int32 data = 1;
}
Который компилируется в Java-класс со структурой данных List<Integer>
вместо массива примитивов int
.
/**
* <code>repeated int32 data = 1;</code>
*/
java.util.List<java.lang.Integer> getDataList();
Мое приложение должно содержать миллионы значений типа int, и для экономии памяти я решил использовать int
вместо Integer
.Есть ли способ скомпилировать описание сообщения protobuf в классе Java с структурой данных int[]
?
К сожалению, я ничего не нашел в Language Buffers Language Guide (proto3) .Аналогичный вопрос был также задан в Как добавить массив int в сообщение protobuf , которое я пробовал, но, очевидно, автор вопроса искал ArrayList<Integer>
, и поэтому ответ мне не помог.
Если для этого нет поддержки, можете ли вы порекомендовать мне более эффективный способ памяти, чем бокс Integer
и использование List<Integer>
?