9/13/2013

Google Protobuf 에서 객체 안에 있는 배열에 값 세팅하기


Java 에서 Google Protobuf 객체를 생성할때는, 예를 들어 Classroom안에 ArrayList인 People 이 있고 이를 세팅해야 한다고 할때

Classroom classroom = Classroom.newBuilder().setPeople(0, people1).build();

와 같은 형태로 작성해 놓고 ArrayIndexOutOfBoundsException 이 발생하는 이유를 몰라서 끙끙대는 경우가 종종 생기는데,  이럴때는 setXXX 를 쓰지 말고 addXXX 로 생성되어 있는 메소드를 사용하면 된다.

다시 말해, people1을 위에다가 먼저 생성하고 그걸 가지고

Classroom classroom = Classroom.newBuilder().addPeople(people1);

이런식.  왜 그런지 궁금하면 생성된 Protobuf로 생성한 자바 파일을 까보시라.

댓글 없음:

댓글 쓰기

UIUC MCS-DS 2018 가을학기 끝, 그리고 2019 봄학기 등록 과목

이 포스팅은 제 미디엄(https://medium.com/@wjung/) 에 작성된 것의 중복포스팅입니다. 2018년 가을학기의 과목이었던 CS410 Text Information System을 드디어 끝냈다. 기말고사는 거의 2주 쯤 전인 12...