Hallo Leute!
Ich habe ein kleines Programm geschrieben, dass "Befehle" erhält (über eine TCP Verbindung, Socket) und dann das entsprechende ausführen muss (bzw. sollte).
GetLine liest von einem PipedInputStream die Zeichen bis zu '\n' aus und gibt sie als String zurück.
Folgendes Funktioniert NICHT:
Folgendes Funktioniert:
Jedoch bringt mir das nichts, da wenn noch weiteres im Befehl steht, dass auch "help" ist, dann wird der Befehl trotzdem ausgeführt.
Ich habe dann mal die einzelnen Zeichen der beiden Strings in die einzelnen INT Werte aufgeteilt und verglichen. Doch leider musste ich festellen, dass Beides genau gleich war. Wenn ich dann diese neuen String mit den INT Werte versuchte zu vergleichen, kam auch ein "false" heraus, obwohl sie genau gleich sind. (Es gibt auch keine Abstände am Schluss oder am Ende)
Wie kann ich die Strings vergleichen? bzw. Warum geht das nicht?
Ich habe ein kleines Programm geschrieben, dass "Befehle" erhält (über eine TCP Verbindung, Socket) und dann das entsprechende ausführen muss (bzw. sollte).
GetLine liest von einem PipedInputStream die Zeichen bis zu '\n' aus und gibt sie als String zurück.
Folgendes Funktioniert NICHT:
Code:
String Befehl = GetLine(pin,"",'\n',100).trim();
if(Befehl == "help") {
...
}
Folgendes Funktioniert:
Code:
String Befehl = GetLine(pin,"",'\n',100).trim();
if(Befehl.indexOf("help") != -1) {
...
}
Ich habe dann mal die einzelnen Zeichen der beiden Strings in die einzelnen INT Werte aufgeteilt und verglichen. Doch leider musste ich festellen, dass Beides genau gleich war. Wenn ich dann diese neuen String mit den INT Werte versuchte zu vergleichen, kam auch ein "false" heraus, obwohl sie genau gleich sind. (Es gibt auch keine Abstände am Schluss oder am Ende)
Wie kann ich die Strings vergleichen? bzw. Warum geht das nicht?