3 Antworten

Das liegt daran, dass in Java Strings mit der Equals-Methode verglichen werden, da es sich dabei um einen zusammengesetzten Datentyp handelt. Also if (a.equals(b)) statt if (a == b).

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von hayate22
16.07.2017, 21:46

auch gerade rausgefunden, vielen dank! :D

0
Kommentar von Jugendhacker
21.07.2017, 01:16

Um genau zu sein wird mit == die JVM interne ID verglichen und das kann nur true Ergeben wenn es die selben Variablen sind!

0

Da ist ein Tab vor dem <!DOCTYPE. deswegen funktioniert es nicht. Äbder die Zeile in

print(lines[0] == "\\\\t<!DOCTYPE html>");

Das "\\\\t" muss in doppelten Anführungszewichen stehen und bewirkt ein Tab.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von hayate22
16.07.2017, 19:51

funktioniert nicht. Das witzige ist wenn in zwei Zeilen exakt das Gleiche steht, ohne leerzeichen oder Tap, und diese vergleicht wird es trotzdem als false angegeben.

0

In der ersten Zeile der  Webseite scheint vor dem "<!..." ein Tabulator zu sitzen.

Du hast aber anscheinend ein Leerzeichen davor in Deinem Vergleich.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von hayate22
16.07.2017, 19:32

Ich habe den output von 

print(lines[0]);

eins zu eins kopiert und in 

print(lines[0] ==" <!DOCTYPE html>" );

eingesetzt und trotzdem funktioniert es nicht.

Auch trim() bringt nichts.

0
Kommentar von TheBassHead
16.07.2017, 19:32

Meistens gibt es Funktionen um so einen String von solchen Steuerzeichen zu entfernen, damit solche Fehler eben nicht auftreten. Ich habe keinen großen Plan von Java, sowas sollte es aber auch geben und wenn nicht wird es halt selber gemacht.

0

Was möchtest Du wissen?