Я использую Protobuff для создания своего Java-объекта, почему я продолжаю получать java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
Исключение при вызове setHeader(0, h1)
в моем коде.
Вот мой код:
Person.Header h1 = Person.Header.newBuilder()
.setKey("Key1")
.setValue("value1")
.build();
Person person = Person.newBuilder()
.setBody("TestBody")
.setHeader(0, h1)
.build();
Вот мое сообщение о протобуфе (вызов dataformat.proto):
syntax = "proto3";
package tutorial;
option java_package = "tutorial";
message Person {
string body = 1;
repeated Header header = 2;
message Header {
string key = 3;
string value = 4;
}
}
StackTrace:
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.set(ArrayList.java:453)
at com.google.protobuf.ProtobufArrayList.set(ProtobufArrayList.java:96)
at tutorial.Dataformat$Person.setHeader(Dataformat.java:572)
at tutorial.Dataformat$Person.access$1200(Dataformat.java:42)
at tutorial.Dataformat$Person$Builder.setHeader(Dataformat.java:815)
...