我有一个使用套接字的客户端服务器程序,一个安卓平板电脑是服务器而另一个安卓是客户端。它在下面显示的第一个示例中正常工作,我发送一个简单的消息,但在下面的第二个例子中,我尝试使用if语句,但它不起作用。我想知道为什么会这样?
receivedCommand是textView
这是第一个没有问题的例子
public String line = null;
try {
BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));
while ((line = in.readLine()) != null) {
Log.d("ServerActivity", line);
handler.post(new Runnable() {
@Override
public void run() {
receivedCommand.setText(line);
}
});
}
现在是第二个使用if语句
时不起作用的例子public String line = null;
try {
BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));
while ((line = in.readLine()) != null) {
Log.d("ServerActivity", line);
handler.post(new Runnable() {
@Override
public void run() {
//receivedCommand.setText(line);
if(line.equals("test")){
receivedCommand.setText("test received");
}
}
});
}
答案 0 :(得分:1)
似乎你所要做的只是
line.trim().equals("test"))
从其他来源获取String时始终为trim()
,它可能只有空格而你没有预料到它并导致比较返回false。