接收到Handler传递出String类型数据后与原始String类型数据.equals()不相等的问题

jing.wang@Android 2017-08-15 04:53:00
服务器端代码:
public void xxx(){
try{
//一些操作
...............................................
[color=#00FF00] this.outString("钢厂关联物资成功!"); //给客户端的相应数据[/color]
}catch(Exception e){
e.printStackTrace();
}
}
客户端代码:
try {
new Thread() {
public void run() {
// 向服务器提交数据
String reponseStr0 = HttpUtil.formUpload(
Constant.URL_MAIN + "xxx.do",
text, pic);
System.out.println(TAG + "-->上传数据后服务器响应数据为: "
+ reponseStr0);
// 将服务器响应回传给UI线程
Message message = Message.obtain();
message.what = 4;
message.obj = reponseStr0.toString();
handler.sendMessage(message);

System.out.println("message 4 -->" + reponseStr0
+ " is already send to handler");
}
}.start();
} catch (Exception e) {
e.printStackTrace();
}
Handler handler = new Handler() {
public void handleMessage(Message msg) {
switch (msg.what) {
case 4: {
String temp = (String) msg.obj;
String ori =new String( "钢厂关联物资成功!");

System.out.println("temp-->" + temp);
System.out.println("ori-->" + ori);
if (temp.equals(ori)) {
System.out.println("temp 和 ori 相等!");
m_pDialog.setMessage("上传成功!");
// 需要关闭这个提示的时候:
m_pDialog.dismiss();
finish();
} else {
System.out.println("temp 和 ori 不相等!");
m_pDialog.setMessage("上传失败!");
// 需要关闭这个提示的时候:
m_pDialog.dismiss();
}
}
break;
default:
break;
}
super.handleMessage(msg);
}
};

然后就一直提示二者不相等,但其实打印出来二者是相等的,请问这是什么问题,烦请路过的各位大神指点一二,小弟感激不尽!
如下是日志打印内容:
08-15 08:36:22.548: I/System.out(5071): temp-->钢厂关联物资成功!
08-15 08:36:22.548: I/System.out(5071): ori-->钢厂关联物资成功!
08-15 08:36:22.548: I/System.out(5071): temp 和 ori 不相等!
...全文
242 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
ganshenml 2017-08-15
  • 打赏
  • 举报
回复
貌似不应该会有这样的问题。 你看看是不是你代码中的字符串含空字符或者全角半角的问题。

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧