金亚拉克的末日,工作日,messagecs
android开发中,我们经常使用textutils.isempty()来判断字符串是否为null或者空字符串,防止出现空指针异常,但是之前使用这个方法的时候,出现了一点小问题,所以记录下来,防止以后再犯。
textutils.isempty()的实现如下:
/** * returns true if the string is null or 0-length. * @param str the string to be examined * @return true if str is null or zero length */ public static boolean isempty(charsequence str) { if (str == null || str.length() == 0) return true; else return false; }
一般情况下使用是没问题的。
现在我们考虑这样一种情况:假设实体student有一个属性name,string类型。后台在响应这个属性到手机端的时候,是这样赋值的name = xxx + “”,这样可以防止name属性为null,但是如果xxx为null,响应的name是什么样的呢?我们测试一下。
响应过来的其实是字符串“null”,这样我们再使用textutils.isempty()进行非空判断的时候,就会出错,遗漏掉一种情况。健全的判断方法应该是:
!((textutils.isempty(name)) && ("null".equalsignorecase(name)))
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Android apk 项目一键打包并上传到蒲公英的实现方法
Android 自定义LineLayout实现满屏任意拖动功能的示例代码
android 限制某个操作每天只能操作指定的次数(示例代码详解)
Android 集成 google 登录并获取性别等隐私信息的实现代码
网友评论