Porównaniem identycznych Stringów zwraca "false"

0

Witam. Przy pomocy metody readLine() obiektu klasy RandomAccessFile odczytuje plik, gdy metoda readLine() napotka pusty wiersz to zwraca "null" w Stringu, problem pojawił się gdy w instrukcji if próbowałem porównać ze wzorcowym Stringiem któremu ręcznie nadałem wartość(łańcuch) "null", pomimo że obie wartości są takie same to metoda zwraca false, również próbowałem przy użyciu operatora "==" co dało ten sam wynik:
Linie w których objawia się ten problem :

String z=strumien.readLine();// tutaj zwraca "null"

        String a="null";     //Wzorzec do porównania , próbowałem również przypisać wartość poprzez new String("null")

        System.out.println("to jest String::::"+z+"Wzorcowy String"+a); // Sprawdza czy oba stringi zawierają "null"

        System.out.println(a.equals(z)); // zwraca false

         if(a.equals(z)) // instrukcja się nie wykonuje również w formie :: if(a==z)

 
1
if (z==null)
0

Dzięki działa. Czyli readLine()nie zwróciło łańcucha "null", tylko pustą referencją typu String ustawioną na null? Dobrze to rozumiem?

0

Tak. Co wiedziałbyś gdybyś zamiast kombinować użył debuggera.

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