나는 다음 종류의 static 팩토리 메소드 사용을 선호 :
public final class CollectionUtils {
private CollectionUtils() {
}
public static <T> List<T> list(T... data) {
return Arrays.asList(data);
}
public static <T> ArrayList<T> newArrayList() {
return new ArrayList<T>();
}
public static <T> ArrayList<T> newArrayList(T... data) {
return new ArrayList<T>(list(data));
}
}
그래서, 당신은 다음 방법으로 코드에서 사용할 수 있습니다 :
import static CollectionUtils.list;
import static CollectionUtils.newArrayList;
public class Main {
private final List<String> l1 = list("a", "b", "c");
private final List<String> l2 = newArrayList("a", "b", "c");
}
따라서 목록을 작성하고 채우는 비교적 컴팩트 한 방법을 얻을 수 있으며 일반 드를 복제 할 필요가 없습니다. 명료하다. 참고 list
메서드는 배열의 목록보기를 만듭니다. 나중에 요소를 추가하거나 제거 할 수 없습니다. 한편 newArrayList
은 보통 ArrayList
개체를 만듭니다.
Joachim Sauer으로 언급했듯이이 유틸리티 메소드 (및 기타 유용한 것들)는 Google Collections 라이브러리 (현재 Guava 프로젝트의 일부 임)에 있습니다.
Latter는 작동하지만 본문에는'l.'-prefix를 사용할 필요가 없습니다. 일반'add ("a");는 충분합니다. – Ahe