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첫번째 날 시작

오늘이 학생들에게 UIUC MCS-DS 의 코세라 수업이 할당되고 공식적으로 일정이 시작된 (Aug 27, 2018) 첫날이다. 아직까지 기존에 공개되어 있어 진도를 나갈 수 있었던 specialization 클래스들의 진행상황이 MCS-DS 과정으...