我正在使用readline()
方法讀取inputstream
,然後嘗試對其進行比較。將readline()的值與字符串進行比較
的代碼如下:
//socket is defined before this
InputStream is = socket.getInputStream();
br = new BufferedReader(new InputStreamReader(is));
Line = br.readLine();
if (Line == "hey") {
Log.d("watsapp client tag", "message pushed !!");
Log.d("watsapp client tag", "" + Line);
}
else {
Log.d("watsapp client tag", "message not pushed");
Log.d("watsapp client tag", "" + Line);
}
上面的代碼總是執行else部分。儘管輸入流的第一個值是「hey」,而第二個值不是。所以我期待在logcat「消息推送!!」而「信息不推」,而不是我得到既「不推消息」
05-31 14:46:14.309 6138-6151/? D/watsapp client tag﹕ message not pushed
05-31 14:46:14.309 6138-6151/? D/watsapp client tag﹕ hey
05-31 14:46:14.339 6138-6151/? D/watsapp client tag﹕ message not pushed
05-31 14:46:14.339 6138-6151/? D/watsapp client tag﹕ <Messageadded:1112/>
請能告訴什麼是在行if (Line == "hey")
走錯了。謝謝!
比較字符串時使用'equals' – copeg