Если я инициализирую ArrayList из массивов ArrayLists, содержащих объекты LatLng, являются ли ArrayLists из LatLngs равными нулю или пустыми? Причина, о которой я прошу, заключается в том, что когда я проверяю, чтобы первый ArrayList был нулевым, я получаю IndexOutofBoundsException (size = 0, index = 0). Означает ли это, что все объекты были установлены как пустые, а не null, когда я впервые инициализировал объект? Поэтому мне не нужно каждый раз инициализировать новый объект LatLng, и я не должен инициализировать каждый вложенный массив ArrayList?Инициализация вложенных объектов java
Мой инициализирован объект:
public ArrayList<ArrayList<LatLng>> badSpots = new ArrayList<>();
int badArrayNum = 0;
Где я получаю исключение:
if(badSpots.get(badArrayNum)!=null){
badSpots.get(badArrayNum).add(badArrayNum,new LatLng(newLat,newLon));
}
Инициализация - только на один уровень. В вашем примере вы создаете новый ArrayList, в котором вы можете с удовольствием использовать ArrayLists объектов LatLng. Разум: вы создали только ** пустой список **; ничего больше. – GhostCat
@ Jägermeister, так что если мои badSpots не пустые, скажите, что есть arraylist с индексом 0, но не в индексе 1, это arraylist по индексу 1 null или пустой? –
Просто прочитайте javadoc для коллекций; как ответ: это зависит. Если вы вызвали «добавить» только один раз; затем размер равен 1; и доступен только индекс 0. Если вы дважды назовете «добавить» ... тогда размер равен 2; и в индексе 1 ... вы получили то, что вы «добавили» там. – GhostCat