为了账号安全,请及时绑定邮箱和手机立即绑定

java中直接用substring截取字符串和将substring封装在方法里的区别?

java中直接用substring截取字符串和将substring封装在方法里的区别?

千万里不及你 2019-03-21 14:13:50
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条经验 获得超4个赞

strName = json.optString("name").substring(0, json.optString("name").indexOf(" "));这样写是不安全的。
原因是json.optString("name")有可能因为种种原因返回null,或者其中不含空格导致json.optString("name").indexOf(" ")返回-1进而导致substring方法出错。
总之,把这句话展开成一个函数,多加一些检查,才能保持函数的可靠。

查看完整回答
反对 回复 2019-03-26
  • 2 回答
  • 0 关注
  • 701 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信