在学习使用 HTTP_GET 和 HTTP_POST 时遇到一个低级问题,如下:
// 想要获取请求响应状态码,已知状态码为int型
int httpResponse = httpResponse.getStatusLine().getStatusCode();
// 想当然的进行toString,发现出错
String httpRsp = httpResponse.toString();
Toast.makeText(getBaseContext(), httpRsp, Toast.LENGTH_LONG).show();
错误原因:(说到点子上了)
有对象才有方法,int是基本类型数据,不是对象,调用方法当然会报错。
Java是面向对象的语言,这里可以将int包装成Integer对象,然后就可以调用toString方法了。
所以这里应该这样写,如下:
Integer httpResponse = new Integer(httpResponse.getStatusLine().getStatusCode());
String httpRsp = httpResponse.toString();
Toast.makeText(getBaseContext(), httpRsp, Toast.LENGTH_LONG).show();
网上还有别的方法:
直接String str = “”+i; 这里“+”号会自动将i转换为字符串。