Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Strings sind ungleich obwohl sie in der Ausgabe gleich sind
System.out.println("nach der umwandlung " +tmp5);
System.out.println("nach der Umwandlung " +tmp9);
System.out.println();
System.out.println(tmp5.length() + "Länge "+tmp9.length());
for (int l=0;l<tmp5.length();l++){
if (!(tmp5.charAt(l) ==tmp9.charAt(l))){
System.out.println(tmp5.charAt(l) + " ist ungleich "+ tmp9.charAt(l));
System.out.println("Dieser buchstabe ist nicht equal: "+l);
}
Java:
und die Ausgabe ist wie folgt:
nach der umwandlung [url=http://katalog.ub.uni-duesseldorf.de:80/F/B2XC55E24J65DUJVB9X9FLKX1SXD7NSASVB9YX6UQIBE95QI8N-66092?func=bor-loan&adm_library=DUE50]Katalog ULBD - Einfache Suche[/url]
nach der Umwandlung [url=http://katalog.ub.uni-duesseldorf.de:80/F/B2XC55E24J65DUJVB9X9FLKX1SXD7NSASVB9YX6UQIBE95QI8N-66092?func=bor-loan&adm_library=DUE50]Katalog ULBD - Einfache Suche[/url]
943Länge 134
ist ungleich &
Dieser buchstabe ist nicht equal: 112
ist ungleich a
Dieser buchstabe ist nicht equal: 113
ist ungleich m
Dieser buchstabe ist nicht equal: 114
ist ungleich p
Dieser buchstabe ist nicht equal: 115
ist ungleich ;
Dieser buchstabe ist nicht equal: 116
ist ungleich a
Dieser buchstabe ist nicht equal: 117
ist ungleich d
Dieser buchstabe ist nicht equal: 118
ist ungleich m
Dieser buchstabe ist nicht equal: 119
ist ungleich _
Vergleichst du die Strings mit [c]==[/c]? Das ist falsch, für Objekte muss man mit der [c]equals[/c]-Methode vergleichen, [c]==[/c] ist nur für Primitive und Vergleich auf gleiche Objektreferenzen.
Vergleichst du die Strings mit [c]==[/c]? Das ist falsch, für Objekte muss man mit der [c]equals[/c]-Methode vergleichen, [c]==[/c] ist nur für Primitive und Vergleich auf gleiche Objektreferenzen.
vergleichen.
Aber deine beiden Strings (tmp5 und tmp9) haben unterschiedlichen Länge. Wie sollen die dann identisch sein? Mich wundert dass da keine Exception fliegt, weil tmp5 länger als tmp9 ist.
Warum vergleichst du tmp5 und tmp9 nicht direkt mit equals?
vergleichen.
Aber deine beiden Strings (tmp5 und tmp9) haben unterschiedlichen Länge. Wie sollen die dann identisch sein? Mich wundert dass da keine Exception fliegt, weil tmp5 länger als tmp9 ist.
Warum vergleichst du tmp5 und tmp9 nicht direkt mit equals?
Genau, das ist das verrückte, ich glaube, da sind irgendwo Zeichen zwischen, die nicht dargestellt werden. Wie kann ich die sichtbar machen? Oder kann man dafür sorgen, dass unsichtbare Zeichen am Ende verschwinden mit Hilfe einer Funktion?
trim() entfernt whitespaces am anfang und ende eines strings.
schreib dir die strings doch mal in ne datei und schau dir die mit nem vernünftigen editor an, dann siehste evtl. was da noch für zeichen stehen.
Ich habe mir jetzt die Strings angeguckt, den einen bekomm ich von einer Website. Wenn ich die Bytes darstelle, dann gibt es in dem langen String eine sehr lange Reihen mit Nullen.