Witam,
jestem początkujący w javie i mam pewno pytanie. W jaki sposób sprawdzić w if czy dany element listy o danym id istnieje?
Próbowałem w ten sposób, ale nie działa:
if(lista.get(k+2)==null);
if(lista.get(k+2).equals(""));
Witam,
jestem początkujący w javie i mam pewno pytanie. W jaki sposób sprawdzić w if czy dany element listy o danym id istnieje?
Próbowałem w ten sposób, ale nie działa:
if(lista.get(k+2)==null);
if(lista.get(k+2).equals(""));
A do czego służy dokumentacja? http://docs.oracle.com/javase/7/docs/api/java/util/List.html
Kazdy element listy z przedzialu 0..lista.size() istnieje. Pewnie chcesz sprawdzic, czy element ten jest pusty, a nikt nie wie co to za element.
n0name_l napisał(a):
Kazdy element listy z przedzialu 0..lista.size() istnieje. Pewnie chcesz sprawdzic, czy element ten jest pusty, a nikt nie wie co to za element.
Tylko czasami zmienna k+2 może właśnie wyjść poza przedział 0...lista.size() i chciałbym sprawdzić czy element listy w pewnym przypadku o tym indexie własnie istnieje.
to @bogdans dal dobra odpowiedz.
E get(int index)
Returns the element at the specified position in this list.
Parameters:
index - index of the element to return
Returns:
the element at the specified position in this list
Throws:
IndexOutOfBoundsException - if the index is out of range (index < 0 || index >= size())
No kurde nie wiem, nie kumam tego. :-( Nie działa mi.
Zapisuję to w ten sposób:
if(contains(lista.get(k+2)))
Gdy elementu listy o takim id nie ma to wyrzuca mi taki błąd:
Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index: 2, Size: 2
at java.util.ArrayList.rangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at Kalkulator.actionPerformed(Kalkulator.java:502)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
ja pieprze...
try
{
lista.get(index);
// jesli wszystko ok to sie wykona to tutaj badz za blokiem catch()
}
catch(IndexOutOfBoundsException e)
{
// jesli blad
}
lub:
if(index >= 0 && index < lista.size())
{ // tutaj jesli ok }
else
{ // tutaj jesli blad }
P.S. w 30 sek pisania tego posta nauczylem sie wiecej Javy niz Ty od poczatku kariery.