java无法比较字符串

时间:2012-05-10 18:07:20

标签: java

我正在编写一个从套接字中读取一行的代码。
如果该行是“再见”,我希望它输出“好”。 从某种原因它不起作用,虽然我确实尝试输出没有条件的输入,它确实说“再见”

这是我的代码

                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);
                }

3 个答案:

答案 0 :(得分:7)

使用String#equals()而不是==来比较字符串。

答案 1 :(得分:0)

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

                    out.println(input);
                }

equals()比较字符串的内容。

答案 2 :(得分:0)

你想要内心如果这样说:

if (input.equals("bye"))

而不是

if (input == "bye")

==实际上是比较引用对象(有点像指针),有时可能在字符串被实现时起作用,但这是另一个主题。使用.equals()