Я читаю inputstream
с использованием метода readline()
, а затем попытаюсь его сравнить.Сравнение значения 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);
}
Приведенный выше код всегда выполняет еще часть. хотя первое значение входного потока «эй», а второе - нет. Поэтому я ожидаю, что сообщение «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