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

3 回答 3

8

使用String#equals(), not==来比较字符串。

于 2012-05-10T18:08:40.140 回答
0
if (input != null)
                {
                    input = input.trim();
                    if (input.equals("bye"))
                        out.println("nice");

                    out.println(input);
                }

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

于 2012-05-10T18:09:32.033 回答
0

你想要你的内心如果这样说:

if (input.equals("bye"))

代替

if (input == "bye")

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

于 2012-05-10T18:10:43.617 回答