strName = json.optString("name").substring(0, json.optString("name").indexOf(" "));和strName = subName(json.optString("name"));private String subName( String gameName ){if ( ! gameName.isEmpty() ){String str[] = gameName.split(" ");String subNewName = str[0];return subNewName;}else{return null;}}在代碼執行上有什么區別嗎?為什么在代碼中用第一種方法,app運行有時候會出錯,有時候又不會?
2 回答

弒天下
TA貢獻1818條經驗 獲得超8個贊
strName = json.optString("name").substring(0, json.optString("name").indexOf(" "));這樣寫是不安全的。
原因是json.optString("name")有可能因為種種原因返回null,或者其中不含空格導致json.optString("name").indexOf(" ")返回-1進而導致substring方法出錯。
總之,把這句話展開成一個函數,多加一些檢查,才能保持函數的可靠。
添加回答
舉報
0/150
提交
取消