Вопрос по java – Ява не может сравнивать строки

0

Я написал код, который читает строку из сокета.
если строка "пока" я хочу, чтобы он вывел "хороший" текст. по какой-то причине это не сработало, хотя я попытался вывести ввод без каких-либо условий, и он сказал «пока»

это мой код

                String input = null;
                if (socket.getInputStream().available() > 0)                    
                    input = in.readLine();                                                                  

                if (input != null)
                {
                    input = input.trim();
                    if (input == "bye")
                        out.println("nice");

                    out.println(input);
                }
возможный дубликатJava String.equals versus == Matt Ball

Ваш Ответ

3   ответа
0
if (input != null)
                {
                    input = input.trim();
                    if (input.equals("bye"))
                        out.println("nice");

                    out.println(input);
                }

equals()  сравнивает содержимое строки

0

Вы хотите, чтобы ваш внутренний, если сказать это:

if (input.equals("bye"))

вместо

if (input == "bye")

== фактически сравнивает ссылочный объект (вроде указателя) и иногда может работать, когда строка интернирована, но это другая тема. использование.equals()!

7

использованиеString#equals()не==, чтобы сравнить строки.

Error: User Rate Limit Exceeded Asaf Nevo

Похожие вопросы