versagt Ich weiß wirklich nicht, warum die if-Anweisung unten nicht ausgeführt wird:If-Anweisung mit String Vergleich
if (s == "/quit")
{
System.out.println("quitted");
}
Unten die ganze Klasse ist.
Es ist wahrscheinlich ein wirklich dummes logisches Problem, aber ich habe mir die Haare rausgerissen, um das nicht zu verstehen.
Dank für das Schauen :)
class TextParser extends Thread {
public void run() {
while (true) {
for(int i = 0; i < connectionList.size(); i++) {
try {
System.out.println("reading " + i);
Connection c = connectionList.elementAt(i);
Thread.sleep(200);
System.out.println("reading " + i);
String s = "";
if (c.in.ready() == true) {
s = c.in.readLine();
//System.out.println(i + "> "+ s);
if (s == "/quit") {
System.out.println("quitted");
}
if(! s.equals("")) {
for(int j = 0; j < connectionList.size(); j++) {
Connection c2 = connectionList.elementAt(j);
c2.out.println(s);
}
}
}
} catch(Exception e){
System.out.println("reading error");
}
}
}
}
}
Zu schade, dass wir +1 für Bearbeitungen nicht geben können. –
== bedeutet; ist das das gleiche Objekt. Es stimmt nicht mit Objekten überein, die dieselben Daten enthalten. –
Wie kommt es, dass 'Multithreading' markiert ist? – Asaf