`

Java中如何判断空字符串

    博客分类:
  • Java
阅读更多

 以下是 Java 判断字符串是否为空的几种方法.
  方法一: 最多人使用的一个方法, 直观, 方便, 但效率很低.
  方法二: 比较字符串长度, 效率高, 是我知道的最好一个方法.
  方法三: Java SE 6.0 才开始提供的办法, 效率和方法二基本上相等, 但出于兼容性考虑, 推荐使用方法二或方法四.
      方法四: 这是种最直观,简便的方法,而且效率也非常的高,与方法二、三的效率差不多
      以下代码在我机器上的运行结果: (机器性能不一, 仅供参考)
 function 1 use time: 140ms
    function 2 use time: 47ms
    function 3 use time: 47ms
    function 4 use time: 47ms

public class TestEmptyString {

	String	s	= "";
	long	n	= 10000000;

	private void function1() {
		long startTime = System.currentTimeMillis();
		for (long i = 0; i < n; i++) {
			if (s == null || s.equals(""))
				;
		}
		long endTime = System.currentTimeMillis();
		System.out.println("function 1 use time: " + (endTime - startTime)
		                + "ms");
	}

	
	private void function2() {
		long startTime = System.currentTimeMillis();
		for (long i = 0; i < n; i++) {
			if (s == null || s.length() <= 0)
				;
		}
		long endTime = System.currentTimeMillis();
		System.out.println("function 2 use time: " + (endTime - startTime)
		                + "ms");
	}

	private void function3() {
		long startTime = System.currentTimeMillis();
		for (long i = 0; i < n; i++) {
			if (s == null || s.isEmpty())
				;
		}
		long endTime = System.currentTimeMillis();
		System.out.println("function 3 use time: " + (endTime - startTime)
		                + "ms");
	}

	private void function4() {
		long startTime = System.currentTimeMillis();
		for (long i = 0; i < n; i++) {
			if (s == null || s == "")
				;
		}
		long endTime = System.currentTimeMillis();
		System.out.println("function 4 use time: " + (endTime - startTime)
		                + "ms");
	}
	
	public static void main(String[] args) {
		TestEmptyString test = new TestEmptyString();
		test.function1();
		test.function2();
		test.function3();
		test.function4();
	}

 

 注意:s == null 是有必要存在的.
如果 String 类型为 null, 而去进行 equals(String) 或 length() 等操作会抛出java.lang.NullPointerException.

并且s==null 的顺序必须出现在前面.不然同样会抛出java.lang.NullPointerException.

如下代码:

String str= = null;
	if(str=.equals("") || str= == null){//会抛出异常
		System.out.println("success");
	}
// "".equales(str);后置确保不会遇null报错。
 


分享到:
评论

相关推荐

    判断字符串是否为空

    判断字符串是否为空判断字符串是否为空判断字符串是否为空

    java字符串替换 代码转换相关源码.rar

    java字符转换类代码,可以实现判断字符串是否为空,并删除首尾空格,字符串替换函数,代码转换,GBK转换为ISO-8859-1,代码转换 从srcCode转换为destCode,代码转换,GBK转换为big5,替换非法字符,标记本身等于分隔...

    Java字符串常用方法

    判断字符串为空 判断Email有效性 判断身份证号码有效性 判断手机号码有效性 判断是否含有特殊字符 校验是否是中文名字 包括 姓名 • 校验是否是英文名字 将字符串转换为大写 将字符串转换为小写 判断字符串是否为...

    Java中String判断值为null或空及地址是否相等的问题

    主要介绍了Java中String判断值为null或空及地址是否相等的问题,文中举了简单的例子对字符串类型的值和地址问题进行讲解,需要的朋友可以参考下

    Java判断字符串为空、字符串是否为数字

    主要介绍了Java判断字符串为空、字符串是否为数字,其中数字的判断介绍了3种方法,需要的朋友可以参考下

    Java编写的非常有用的方法,文字中提取中文字符

    在一个字符串中找出所有汉字并返回,判断一个字符串是否为空白字符串(包括所有形式的空白符号)

    【JS】Java 判断字符串是否为空的三种方法

    【JS】Java 判断字符串是否为空的三种方法--方法一: 最多人使用的一个方法, 直观, 方便, 但效率很低.方法二: 比较字符串长度, 效率高, 是我知道的最好一个方法.方法三: Java SE 6.0 才开始提供的方法, 效率和方法二...

    StringUtil.java

    java编程中对字符串的各种方式的处理,包括(空字符串处理、判断是否是空字符串 null和"" 都返回 true、 把string array or list用给定的符号symbol连接成一个字符串、 判定第一个字符串是否等于的第二个字符串中的某...

    freemarker实现自动补齐字符串

    freemarker实现自动补齐字符串。通过ftl模版文件(ftl文件为freemarker模版文件)的自定义标签实现自动补齐字符串。代码稍作修改便可左补齐右补齐左右补齐,可自定义设置补齐的字符串。测试通过java文件调用ftl文件...

    java判断字符串String是否为空问题浅析

    主要介绍了java判断字符串String是否为空问题,有需要的朋友可以参考一下

    ConditionEvaluator:用于评估字符串条件的 Java 库

    条件评估器用于评估字符串条件的 Java 库评估字符串的条件并返回它们是否为真。例子基本布尔值 "((true || false) && true) && (false || true)" is true"((true || false) && true) && (false || false)" is false...

    Java 开发所需json的jar包,转json格式

    * 将得到的数据以json格式进行输出,如果对象不存在则输出空字符串 * * @param obj * 要转换成json的对象 */ protected String toJson(Object obj) { String json = ""; if (obj != null) { if (isArray...

    java BigDecimal操作

    NULL 博文链接:https://ollevere.iteye.com/blog/1528655

    freemarker判断对象是否为空的方法

    如果需要判断对象是否为空: &lt;#if name??&gt; …… &lt;/#if&gt; 当然也可以通过设置默认值${name!”}来避免对象为空的错误。如果name为空,就以默认值(“!”后的字符)显示。  对象user,name为user的属性的...

    java_字符串判断工具类的标准代码_android

    判断一个对象是否为boolean类型,包括字符串中的true和false 对象是否为true 判断一个数组里是否包含指定对象 将对象转为int值,如果对象无法进行转换,则使用默认值 将对象转为int值,如果对象不能转为,将返回0 将对象...

    Objective-C处理空字符串和页面传值及自定义拷贝

    空字符串 在ios应用中,如果从网络请求数据,返回json或者是xml格式的数据时,经常会遇到空串,一般接口是用java等语言写的,如果是安卓,因为源语言都是java,只需判断是否等于null即可,但是在ios中会出现各种各项...

    java判断参数是否为空工具类 java判断对象属性是否全部为空

    java判空工具类 可以判断字符串数组,字符串类型,List对象集合,Map集合map,object&gt;,map和多个String参数,对象类型,是否为...java判断对象属性是否全部为空,只要有一个属性不为空,那么就不是所有的属性值都为空。

    java后台注解校验工具类

    后台通过注解的方式对model 的值进行校验。判断值是否符合类型要求或长度要求。

    StringAPI.java

    boolean isEmpty():判断是否是空字符串:return value.length == 0 String toLowerCase():使用默认语言环境,将 String 中的所有字符转换为小写 String toUpperCase():使用默认语言环境,将 String 中的所有...

    2Java SE(上).doc

    首先该方法会使用给定的字符串与当前字符串进行全匹配,当找到位置后,会将给 定字符串中第一个字符在当前字符串中的位置返回。常用来查找关键字使用。 重载方法: int lastIndexOf(String str):返回给定的...

Global site tag (gtag.js) - Google Analytics