Буферы протокола Google: как определить сообщение, содержащее ArrayListв файле прото - PullRequest
0 голосов
/ 30 мая 2018

ArrayList соответствует повторяющейся строке:

message m1 {
    repeated string mylist = 1;
}

Как определить ArrayList > в сообщении?Спасибо!

1 Ответ

0 голосов
/ 30 мая 2018

Вам понадобится еще одно сообщение для представления внутреннего списка.

message M1 {
  repeated M2 mylist = 1;
}

message M2 {
  repeated string mylist = 1;
}

Конечно, вы можете добавить столько полей, сколько захотите, в M2, и вам понадобится отдельная логика преобразованиячтобы собрать List<M2> в ArrayList<ArrayList<String>>.

Возможно, вы даже захотите создать повторно используемое сообщение для представления списка строк:

message M1 {
  repeated StringList mylist = 1;
}

message StringList {
  repeated string value = 1;
}
...