sonraki türden statik fabrika yöntemleri kullanarak tercih:
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));
}
}
demektir ki, önümüzdeki şekilde kodunuzda kullanabilirsiniz:
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");
}
Böylece listeleri oluşturma ve doldurma nispeten kompakt bir şekilde olsun ve generic de çoğaltmak gerekmez clarations. Not, list
yönteminin sadece dizinin liste görünümünü yaratır. Öğelere daha sonra ekleyemezsiniz (veya kaldırırsınız). Bu arada newArrayList
, alışılmış ArrayList
nesnesini oluşturur. Bu yardımcı yöntemler (ve diğer birçok yararlı şey), Google Collections kitaplığında (şimdi Guava projesinin bir parçası olan) bulunabilir, not Joachim Sauer belirtildiği gibi.
Sonuncu çalışır, ancak vücutta 'l.'-öneki kullanmak zorunda değilsiniz. Düz 'ekle ("a"); 'yeterlidir. – Ahe