2017-02-20 2 views
0

J'essaie d'obtenir un élément d'un Arraylist en utilisant un index, et de vérifier s'il est vide ou non.Je veux vérifier si l'index de ArrayList est déclaré, sans utiliser get

J'ai essayé:

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

Et il obtient Index out of bounds exception.

Bien sûr, je peux utiliser try-catch, mais j'aimerais savoir s'il y a une autre façon de le faire sans utiliser try-catch? Je pense que je peux le faire plus simplement, mais je ne peux pas. J'ai essayé de lire la documentation de l'API, mais il semble que ce que je veux faire n'existe pas.

+0

oh et, si je tryed (ArrayList.get (index) == null) ... et ça s'arrête aussi par erreur! –

+6

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

+2

Votre instance 'ArrayList' * est-elle appelée' ArrayList'? C'est déroutant. – Biffen

Répondre

2

Vous pourriez simplement size() de la liste (et bien sûr, il doit aussi être négatif):

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

myList.size()> index –

+0

oh boi, je suis idiot ... malade accepter la réponse après 10minuate! –

+0

@MauricePerry grr ... stupide faute de frappe. Merci d'avoir remarqué! – Mureinik

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

okay, j'ai essayé d'inverser comme: si (index> ArrayList.size() && ArrayList.get (index) == null) et son écrasé, hmm ai-je typo? –

+1

@ChangWonJeongJuicycool Si 'index> ArrayList.size()' alors 'ArrayList.get (index)' ne renverra jamais * null' ou même quelque chose * comparable à * 'null'. – Biffen

+0

@Biffen ahh, c'est pourquoi j'ai eu une erreur quand essayer d'obtenir (mauvais) index? cool! si c'est le cas, maintenant je comprends parfaitement, grâce à vous! –