Изучая GWT, я столкнулся с еще одним типом инициализации. мне интересно, в чем разница между:Инициализация списка в GWT?
1) List<T> = new ArrayList<T>();
и
2) List<T> = Lists.newArrayList();
Какой из них имеет свои преимущества и почему?
Изучая GWT, я столкнулся с еще одним типом инициализации. мне интересно, в чем разница между:Инициализация списка в GWT?
1) List<T> = new ArrayList<T>();
и
2) List<T> = Lists.newArrayList();
Какой из них имеет свои преимущества и почему?
Я могу только предположить:
Когда вы работаете с дженерики это не удобно установить T как в List<T>
и new ArrayList<T>();
Для устранения этого недостатка используются статические вспомогательные методы:
List<T> = Lists.newArrayList();
Здесь тип T определяется посредством вывода типа. А правило, такие методы реализованы следующим образом:
public static <T> List<T> newArrayList() {
return new ArrayList<T>();
}
Точно (см. Видео «Использование библиотеки коллекций Google для Java» [часть 1] (http://www.youtube.com/watch?v=ZeO_J2OcHYM) и [часть 2] (http://www.youtube. ком/смотреть? v = 9ni_KEkHfto)). Класс 'com.google.gwt.thirdparty.guava.common.collect.Lists' можно найти в gwt-dev.jar, но на самом деле это [Guava] (http://code.google.com/p/guava -libraries /) (ранее [Google Collections] (http://code.google.com/p/google-collections/)). –
Если вы собираетесь сильно полагаться на Гуаву, вам следует обратиться к ней напрямую. Он включен в GWT только потому, что некоторые части GWT зависят от него, но эти зависимости могут неожиданно изменяться из-под вас. –
Вот полный исходный код: '@GwtCompatible (сериализации = истина) общественности статической ArrayList newArrayList() {вернуть новый ArrayList ();}'. Это просто приятный метод удобства, я всегда предпочитаю. –
maaartinus