2013년 9월 13일 금요일

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로 생성한 자바 파일을 까보시라.

댓글 없음:

댓글 쓰기

가장 많이 본 글