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 回答
 
                    
                    
                            慕娘9325324
                            
                                
                            
                        
                        
                                                
                    TA贡献1783条经验 获得超5个赞
strName = json.optString("name").substring(0, json.optString("name").indexOf(" "));这样写是不安全的。
原因是json.optString("name")有可能因为种种原因返回null,或者其中不含空格导致json.optString("name").indexOf(" ")返回-1进而导致substring方法出错。
总之,把这句话展开成一个函数,多加一些检查,才能保持函数的可靠。
添加回答
举报
0/150
	提交
		取消
	