problem z rzutowaniem z ArrayList

0

Witam
Mam następujący kod:

        for(int i=0;i<listaZalogowanych.size();i++)
			{
			System.out.println("wyrazenie1: " + (String) (object) +"  wyrazenie2: "+ (String) listaZalogowanych.get(i));
			
	                         if ((String) listaZalogowanych.get(i)==(String) (object))
				{
				System.out.println("jestem w pętli");
				listaZalogowanych.remove(i);
				}
			}

Problem jest w tym, że podczas pewnego obrotu pętli pojawia się komunikat "wyrazenie1: test wyrazenie2: test
a komunukat "jestem w pętli" nie pojawia się?
hmmm... przecież te dwa stringi są takie same więc dlaczego warunek if nie jest spełniony??

p.s dodam że operacja ta udaje się dla null

0

Operator == dla Stringów porównuje referencje, nie zawartość. Użyj metody equals().

0

czyli coś takiego?

	if (listaZalogowanych.get(i).equals(object))
				{
				System.out.println("A mnie tu nie ma");
				listaZalogowanych.remove(i);
				}

Czy również je rzutować?

0

Zależy jakiego typu są zmienne obiekt i listaZalogowanych. Możesz nie rzutować, jeśli obiekt jest typu String, a listaZalogowanych jest typu List<String>.

1 użytkowników online, w tym zalogowanych: 0, gości: 1