看板 AndroidDev 關於我們 聯絡資訊
目前在寫一個程式 是先抓到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