Podział stringa split

SH
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 37
0
Kopiuj
String s = "Adres:65";
String[] a = s.split(":");
System.out.println(a[0]);
System.out.println(a[1]);

if (a[0] == "Adres")
{
   System.out.println("Warunek spełniony");
}
else
{
   System.out.println("Warunek nie spełniony");
}
Kopiuj
Adres
65
Warunek nie spełniony

Może mi ktoś wytłumaczyć dlaczego się tak dzieje?

  • Rejestracja: dni
  • Ostatnio: dni
0

Po raz nty to samo - stringi w Javie porownuje sie za pomoca equals() a nie == (to drugie czasami dziala, ale trzeba miec troche wiecej wiedzy jak dziala JVM).

JM
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 41
0

Operator == nie służy do porównywania Stringów masz od tego odpowiednią metodę, więcej tutaj: http://javastart.pl/efektywne/javatraps-001-odpowiedz/

Kopiuj
       if (a[0].equals("Adres")) {
            System.out.println("Warunek spełniony");
        }else{
            System.out.println("Warunek nie spełniony");
        }

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.