더블 브레이스 :자바 나는 다음과 같은 개체 초기화 리팩토링 한 초기화
Req r = new Req();
r.set_f1("A");
r.set_f2(123);
r.set_f3(123.456);
속을 :
Req r = new Req() {{
set_f1("A");
set_f2(123);
set_f3(123.456)
}};
두 번째 샘플은 다음 이클립스 경고가 제기
이직렬화 가능 클래스가 수행을 long 형의 static final serialVersionUID 필드를 선언하지 말것.
나는이 코드 샘플이 동일해야한다고 생각했는데, 그 차이점은 무엇입니까?
이 두 가지는 절대적으로 동일하지 않으며 매우 다릅니다. SO는 이중 중괄호 초기화에 대한 이전 질문으로 가득 차 있습니다. – skaffman
@duffymo 당신은 이것에 절대적으로 틀림 없습니다. – Irfy
그런 식으로 원래 예제를 "리팩터링"하기로 결정한 이유는 무엇입니까?! 이중 브레이스 초기화가 널리 사용되는 것은 아닙니다! Req의 생성자가 데이터를 받아 들일 수있게하는 방법 : Req req = new Req (x, y, z); –