android中如何判断edittext中数据为空?
在android中 TextUtils.isEmpty()和equals()方法的用法
对于一个UI界面中,当判断用户是否输入用户名或密码时,我们常用TextUtils.isEmpty()方法来判断;但有时也可以用这个equals()方法,都可以来判断EditText中是否为空,但有时很纠结,不知道这两种方法中哪个比较好?为什么?请哪位知道的大侠详细帮助解答一下,菜鸟成分感谢!
仔细读官方的API: Returns true if the string is null or 0-length. 意思好像就是看参数是否为空或0长度。因为你从EditText返回的是一个变量。如果这个变量本身为null值,那么你掉它的equals方法是要报错的。但是如果你调用TextUtils.isEmpty() 把这个变量作为参数传进去。只要这个参数为空或者为“”,都会返回真。所以,用官方给的更加严谨。而且。也十分方便。因为你单独去判断你还不是要写一个if语句判断。返回的还是一个boolean值,为何别人铺好的路不走呢?
TextUtils.isEmpty(str)与str.isEmpty()有区别吗?哪个更好?请写出原因
就返回结果的情况来看,有一个区别,就是当 str 是空(null)或空串(”“)时 TextUtils.isEmpty(str) 返回 true,否则返回 false。而当空(null)时 str.isEmpty() 会空指针异常。
就效率上来看, str.isEmpty() 要比 TextUtils.isEmpty() 快,因为如果看官方源码的话可以发现 TextUtils.isEmpty() 判断了两步,先判断 == null,再判断 .length == 0。而前者只判断 .length == 0。
从结构上上看,TextUtils.isEmpty(str) 是一个静态方法,而 str.isEmpty() 是 String 类的对象所拥有的方法。
感恩:
TextUtils类的常用方法isEmpty与equals
http://www.eoeandroid.com/thread-323960-1-1.html
更多相关文章
- xamarin Android(安卓)activity生命周期详解
- Android(安卓)人脸识别+人脸匹配(OpenCV+JavaCV)
- Android中AsyncTask的简单用法
- Android中线程形态AsyncTask、HandlerThread 和 IntentService简
- Cocos2d-x shareSDK
- android: 静态XML和动态加载XML混合使用,以及重写Layout控件
- #菜鸟之旅#Android(安卓)Studio开发JNI工程——Native调用Java方
- 浅谈Java中Collections.sort对List排序的两种方法
- Python list sort方法的具体使用