java 1.1부터 instance initializer, instance initialization block이라는 것이 있다.
클래스에서 { } 로 묶여진 블럭을 의미한다. 인스턴스 생성시 호출된다.
class Member {
public String id; // instance initializer block
{
id = "id";
System.out.println(id);
} //... }
이를 좀 응용해서 anonymous class init 코드에 instance initializer를 넣어 간단하게 List를 구현하는 코드를 생성할 수 있다.
List<String> list = new ArrayList<String>() { { add("a");add("b");add("c"); } };
List<String> list = new ArrayList<String>() {
{
add("a");
add("b");
add("c");
}
};
'general java' 카테고리의 다른 글
[freemarker]boolean 변수 대응하기 (0) | 2016.03.25 |
---|---|
[Guava] Iterables.limit() (0) | 2016.03.24 |
jenkins API 일부 (Jenkin api) - job 정보, job이 실행하는지 여부 (0) | 2016.03.17 |
Apache common의 BooleanUtils.toBoolean()와 BooleanUtils.toBooleanDefaultIfNull() 예시 (0) | 2016.03.16 |
Collections.singleton(null)와 Collections.removeAll(Collections.singleton(null)) 예시 (0) | 2016.03.15 |