2017-02-20 13 views
0

Я пытаюсь получить элемент из Arraylist с помощью индекса и проверить, пуст он или нет.Я хочу проверить, объявлен ли индекс ArrayList, без использования get

Я пробовал:

if(!ArrayList.get(index)) { 
    // do something 
} 

И он получает индекс вне границ исключения.

Конечно, я могу использовать try-catch, но я хотел бы знать, есть ли другой способ сделать это без использования try-catch?

Я думаю, что могу сделать это проще, но я не могу. Я попытался прочитать документацию по API, но, похоже, нет такой вещи, как то, что я хочу сделать.

+0

ой, и я судимый если (ArrayList.get (индекс) == NULL) ... и он также останавливается по ошибке! –

+6

'index> = list.size()'? – Biffen

+2

Является ли ваш экземпляр 'ArrayList' *, называемым' ArrayList'? Как странно. – Biffen

ответ

2

Вы можете просто проверить Лист size() (и, конечно, он также должен быть неотрицательный):

if (index >= 0 && index < myList.size()) { 
    // Do something with myList.get(index) 
} 
+1

myList.size()> индекс –

+0

oh boi, я идиот ... плохо принимаю ответ после 10 минут! –

+0

@MauricePerry grr ... глупое опечатка. Спасибо, что заметили! – Mureinik

1
if(index < ArrayList.size() && ArrayList.get(index) != null) 
+0

В порядке, я попытался обратить вспять как: if (index> ArrayList.size() && ArrayList.get (index) == null) и его разбился, хм, я сделал опечатку? –

+1

@ChangWonJeongJuicycool Если 'index> ArrayList.size()' then 'ArrayList.get (index)' не будет * когда-либо * возвращать 'null' или даже что-либо * сопоставимое с *' null'. – Biffen

+0

@Biffen ahh, вот почему я получил ошибку при попытке получить() неправильный индекс? круто! если это так, теперь я прекрасно понимаю, благодаря вам! –

Смежные вопросы