作者lo33 (lo33)
看板AndroidDev
標題[問題] null值無法進入if 判斷式
時間Sat Oct 8 01:59:04 2011
目前在寫一個程式
是先抓到mysql的再轉換成json字串
但我想寫個判斷式若 值result是null的話 會出現警語
程式是這樣:
try {
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(link);
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
} catch (Exception e) {
Log.e("1", "Error in http connection " + e.toString());
}
// convert response to string
try {
BufferedReader reader = new BufferedReader(new InputStreamReade
is, "UTF-8"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
result = sb.toString();
} catch (Exception e) {
Log.e("2", "Error converting result " + e.toString());
}
// parse json data
// Log.e("result", result);
if (result==null) {
Toast.makeText(ScheduleActivity.this, R.string.noresult,
Toast.LENGTH_LONG).show();
}
else {
///////////////////////
}
我重Log.e看可以看到我所抓的result 的值是null
但是程式都會進入else裡面而不是在if那邊出現警語
我也試過
if (result.equals(null)) {
}
的寫法還是不行@@
還請高手指點!!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.119.137.72
推 LPH66:試試 "null".equals(result) 這樣? 10/08 07:54
→ LPH66:在猜會不會 result 的值是一個內容為 null 四個字的字串... 10/08 07:54
→ lo33:還是一樣耶 我也試過就是字串"null" 了 QQ 10/08 11:00
→ blooker:你的result在哪裡宣告阿 10/08 11:26
→ lo33:onCreate那裏有宣告 我只是貼取值的程式而已 10/08 11:33
推 tomap41017:這個問題我也遇過,不知怎麼解決的 10/08 11:36
→ tomap41017:你試試看拿到String response = EntityUtils.toString( 10/08 11:36
→ tomap41017:HttpResponse)試試看,不要拿inputStream硬讀 10/08 11:37
推 yes0324:我也是卡在這裡Q_Q 10/08 15:53
→ lo33:tom大的方法也試過了 還是不行@@ 10/08 17:45
→ bleed1979:可以利用result的長度來判斷嗎? 10/08 18:22
推 nvidia:那就不是null拉 10/08 19:13
→ nvidia:你用eclipse的debugger看看那是什麼 10/08 19:14
→ nvidia:就土法煉鋼去step into看為什麼沒進入if 10/08 19:16
→ aleelyle:直接log出來不就知道是什麼了 10/08 20:10
→ lo33:友啊 我有log出來 是null沒錯..QQ 10/08 20:14
→ LCamel:你可以在 else 裏面印 result.getClass() 看看 10/08 20:25
推 tomap41017:我在猜樓上這樣會出現NPE? 10/08 23:43
→ nvidia:如果是null pointer exception那怎麼還會進入ELSE 10/09 00:21
→ tomap41017:原PO可以測看看嗎XD?因為我之前也遇過同樣BUG 10/10 14:18
→ tomap41017:@nv : 有時候遇到一些怪情況你也不知道怎麼解釋= = 10/10 14:19
推 nvidia:我沒遇到那種情況阿 XD 10/11 10:32
→ nvidia:我比較好奇的是為什麼會這樣 10/11 10:33
→ qrtt1:中間有 exception 又初始化為 "null" 就有可能XD 10/11 10:44
推 nvidia:XD 10/11 11:09