2011-10-15 127 views
0
if(jsonArray.getJSONObject(i).get("SECNO").toString()!=null && jsonArray.getJSONObject(i).get("SECNO").toString().trim()!="") 
         appointment.mSecNo =Integer.parseInt(jsonArray.getJSONObject(i).get("SECNO").toString()); 
        else 
         appointment.mSecNo = -1; 

在previouse線,爲整數時的jsonArray.getJSONObject(i).get("SECNO").toString() equales爲「」值不被if語句抓到..解析空字符串在java中

,我得到這個錯誤信息。 。can't parse '' to integer

回答

1

不要使用==!=在Java中比較字符串 - 它只是比較引用,而不是內容的字符串。此外,我懷疑toString將永遠返回null。我懷疑你想:

Foo x = jsonArray.getJSONObject(i).get("SECNO"); 
if (x != null && x.toString().trim().length() > 0) 

(我不知道jsonArray.getJSONObject(i).get("SECNO")類型是什麼,因此Foo。)

在我用length() > 0這種特殊情況下,檢測一個非空字符串 - 但更普遍的平等,你想使用equals,所以另一種方法是:

if (x != null && !x.toString().trim().equals("")) 
0

爲什麼不乾脆,

int appointment.mSecNo = -1; 

try { 
    appointment.mSecNo = Integer.parseInt(jsonArray.getJSONObject(i).get("SECNO").toString()); 
}catch(Exception e) { 
    log.error(" your error message "); 
}