8 回答

TA貢獻96條經驗 獲得超96個贊
就拿你說的json數(shù)據(jù)舉例子.
String s; ?s.toString; ?寫過代碼的都知道 必報空指針 ?, 大家都不會這么寫對吧.
正確的寫法 String s = "我自己的String"; ? 現(xiàn)在s怎么用都無所謂 都不會報空指針對吧
因為這個s變量 是我自己創(chuàng)建的,它的一切一切都在我的掌握之中, 我知道它不為null ?所以隨便用 無所謂
那服務器拿回來的json , 你是不知道他到底給了你個 ?String json; 還是String json = "服務器的json?"; ? 你隨便用程序就有可能出錯, 為了不出錯 ?加句代碼如果 json==null return; ?

TA貢獻75條經驗 獲得超32個贊
這種就看你業(yè)務了,要不就判斷為空給提示,要不就json初始化默認數(shù)據(jù),保證不要報錯。也可以給你的json有個狀態(tài)參數(shù),status 為0表示獲取到數(shù)據(jù),正常讀取,為-1表示沒獲取到數(shù)據(jù),給相應提示。

TA貢獻317條經驗 獲得超240個贊
一種解決辦法是假如查詢的是Book,如果數(shù)據(jù)庫中不存在id=5的記錄不返回null,而是返回一個new Book(),在通過判斷這個Book對象的id是否為0來決定是否存在此對象,還有一種就是java8中的Optional類型
添加回答
舉報