首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

判断字符串是否为空

Too many of us are not living our dreams because we are living our fears.

判断字符串是否为空是在 Android 开发中是最长用的一个判断,判断时也经常会看到有不同的判断方式,今天专门研究了一下,记录下来。

先定义一个字符串,

这种定义方式是我们学用的方式,那么这样定义时在字符串时,该怎么判断它是不是空呢?来用代码验证一下:

打出的来 log 是这样的:

12-13 22:57:01.693 5129-5129/com.example.dddd.myapplication E/MainActivity: s == null

可以看到这个时候,如果 s 没有赋值,它就为 null。

现在做一个小改动,这样定义字符串,

这时我们这这样来判断,

这样打出来的 log 是这样的:

12-13 23:06:35.263 6017-6017/com.example.dddd.myapplication E/MainActivity: s is empty

当用 new 关键字创建字符串对象时,如果 s 没有赋值,那么这时的 s 并不是 null,而它的 isEmpty()方法为 true,这时进入到 isEmpty()方法中去看看,

可以看到只有当字符串的长度为 0 时,才会返回 true。所有用 new 关键字创建的字符串对象在没有赋值的情况下它的长度是 0 ,但并不是 null。

还有一个经常用的判断方法就是 if(s == ""),这个就很简单了,就不多言了。

总结:当没有用 new 关键字创建字符串对象,或是没有 s = "",这两种创建方式的话,是不能用 isEmpty()方法来判断的,那样的话会报空指针异常。所以在判断字符串是否为空时要注意这一点,避免报错。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171214G0019E00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券