java 判断字符串为空
来源:互联网 发布:巨石监控分析软件 编辑:程序博客网 时间:2024/05/21 09:32
以下是java 判断字符串是否为空的四种方法:
方法一: 最多人使用的一个方法, 直观, 方便, 但效率很低:
if(s == null ||"".equals(s));
方法二: 比较字符串长度, 效率高, 是我知道的最好一个方法:
if(s == null || s.length() <= 0);
方法三: Java SE 6.0 才开始提供的方法, 效率和方法二几乎相等, 但出于兼容性考虑, 推荐使用方法二.
if(s == null || s.isEmpty());
方法四: 这是一种比较直观,简便的方法,而且效率也非常的高,与方法二、三的效率差不多:
if (s == null || s == "");
注意:s == null 是有必要存在的.
如果 String 类型为null, 而去进行 equals(String) 或 length() 等操作会抛出java.lang.NullPointerException.
并且s==null 的顺序必须出现在前面,不然同样会抛出java.lang.NullPointerException.
如下Java代码:
String str = null;
if(str.equals("") || str= == null){//会抛出异常
System.out.println("success");
}
// "".equals(str);后置确保不会遇null报错
对于字符串处理Android为我们提供了一个简单实用的TextUtils类,如果处理比较简单的内容不用去思考正则表达式不妨试试这个在android.text.TextUtils的类,主要的功能如下:
是否为空字符 boolean
android.text.TextUtils.
isEmpty(CharSequence str)
拼接字符串 String android.text.TextUtils.join(CharSequence delimiter, Object[] tokens)
拆分字符串 String[]
android.text.TextUtils.
split(String text, String expression)
拆分字符串使用正则 String[]
android.text.TextUtils.
split(String text, Pattern pattern)
确定大小写是否有效在当前位置的文本 int
android.text.TextUtils.
getCapsMode(CharSequence cs, int off, int reqModes)
使用HTML编码这个字符串
String android.text.TextUtils.
htmlEncode(String s)
另外,
String[]
中的expression较特殊,如果采用android.text.TextUtils.
split(String text, String expression)
<code><span class="pln"></span><span class="typ">TextUtils</span><span class="pun">.</span><span class="pln">split</span><span class="pun">(</span><span class="pln">someString</span><span class="pun">,</span><span class="pln"> </span><span class="str">"-"</span><span class="pun">);</span></code>来分割someString的话返回的将是错误结果,正确的用法应该是
<code><span class="pln"></span><span class="typ">TextUtils</span><span class="pun">.</span><span class="pln">split</span><span class="pun">(</span><span class="pln">line</span><span class="pun">,</span><span class="pln"> </span><span class="str">",|\\-"</span><span class="pun">);</span></code>
<span style="color: rgb(34, 34, 34); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 13px; line-height: 22px;">你的问题应该是:</span><br style="color: rgb(34, 34, 34); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 13px; line-height: 22px;" /><span style="color: rgb(34, 34, 34); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 13px; line-height: 22px;">何时不适用用String的isEmpty判断字符串是否为空?</span><br style="color: rgb(34, 34, 34); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 13px; line-height: 22px;" /><br style="color: rgb(34, 34, 34); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 13px; line-height: 22px;" /><span style="color: rgb(34, 34, 34); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 13px; line-height: 22px;">翻一下JDK的实现就会知道:</span><img src="http://pic4.zhimg.com/56136d15492a9c4960650b0d5410ff17_b.jpg" data-rawwidth="361" data-rawheight="105" class="content_image lazy" width="361" data-actualsrc="http://pic4.zhimg.com/56136d15492a9c4960650b0d5410ff17_b.jpg" style="border: 0px none; margin: 6px 0px; display: block; overflow: hidden; max-width: 100%; height: 105px; color: rgb(34, 34, 34); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 13px; line-height: 22px; width: 361px;" alt="" /><img src="http://pic2.zhimg.com/57fe8b330a3e84ba39cd4a952736a1dd_b.jpg" data-rawwidth="322" data-rawheight="210" class="content_image lazy" width="322" data-actualsrc="http://pic2.zhimg.com/57fe8b330a3e84ba39cd4a952736a1dd_b.jpg" style="border: 0px none; margin: 6px 0px; display: block; overflow: hidden; max-width: 100%; height: 210px; color: rgb(34, 34, 34); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 13px; line-height: 22px; width: 322px;" alt="" /><span style="color: rgb(34, 34, 34); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 13px; line-height: 22px;">其实isEmpty完全等同于string.length()==0</span><br style="color: rgb(34, 34, 34); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 13px; line-height: 22px;" /><br style="color: rgb(34, 34, 34); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 13px; line-height: 22px;" /><span style="color: rgb(34, 34, 34); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 13px; line-height: 22px;">如果String本身是null,那么使用string.isEmpty()会报空指针异常(NullPointerException)</span><br style="color: rgb(34, 34, 34); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 13px; line-height: 22px;" /><span style="color: rgb(34, 34, 34); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 13px; line-height: 22px;">判断一个String为空的最安全的方法,还是 string ==null || string.isEmpty()</span>
- java 字符串为空判断
- java 判断字符串为空
- java判断字符串为空
- java 判断字符串是否为空,空字符串,或者空格
- Java判断字符串是否为空
- Java 判断字符串是否为空
- Java 判断字符串是否为空
- Java 判断字符串是否为空
- Java判断字符串是否为空
- java判断字符串是否为空
- java 判断字符串是否为空
- Java 判断字符串是否为空
- java判断字符串是否为空
- java中判断字符串是否为空
- Java 判断字符串是否为空
- java判断字符串为空的方法
- java中字符串为空判断
- java 字符串判断是否为空
- Nginx系列(二.nginx编译参数详解)
- send函数理解
- hadoop版的Hello,World
- grunt学习
- java web系统级初始化工作
- java 判断字符串为空
- Android中的dispatchTouchEvent()、onInterceptTouchEvent()和onTouchEvent()
- jquery.cookie.js 操作cookie实现记住密码功能的实现代码
- 离线搭建安卓开发环境
- gettid 和pthread_self的区别
- 火车票查询
- 安卓客户端与服务器的通信及ListView、adapter、fastjson的使用
- Markdown教程:从入门到入门
- Spring AspectJ AOP 简单示例