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
提交
取消