在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

更多相关文章

  1. xamarin Android(安卓)activity生命周期详解
  2. Android(安卓)人脸识别+人脸匹配(OpenCV+JavaCV)
  3. Android中AsyncTask的简单用法
  4. Android中线程形态AsyncTask、HandlerThread 和 IntentService简
  5. Cocos2d-x shareSDK
  6. android: 静态XML和动态加载XML混合使用,以及重写Layout控件
  7. #菜鸟之旅#Android(安卓)Studio开发JNI工程——Native调用Java方
  8. 浅谈Java中Collections.sort对List排序的两种方法
  9. Python list sort方法的具体使用

随机推荐

  1. Android中EditText的设置02
  2. Android(安卓)微光闪烁效果之更强Shimmer
  3. android listview组件之ArrayAdapter,Simp
  4. 【Android】树形菜单、扩展下拉菜单andro
  5. Android(安卓)基础知识之JobScheduler基
  6. 如何申请个人Google API Key用于Android
  7. Android(安卓)自定义对话框Dialog
  8. ContactsContract获取联系人信息
  9. android studio 3.5.1 使用第三方.so 库
  10. [Mac]Android(安卓)Studio使用 Gradle 进