`

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判断字符串是否为数字字符

    ### JAVA判断字符串是否为数字字符 在日常的Java开发工作中,我们经常需要验证用户输入的数据是否符合预期格式,比如验证电话号码、身份证号等是否仅包含数字。这种情况下,一个简单有效的工具方法就显得尤为重要了...

    java中常用字符串方法总结

    15. **空字符串检查** `isEmpty()`方法判断字符串是否为空。 16. **复制字符串** `repeat(int count)`方法在Java 11中引入,用于重复字符串`count`次。 17. **字符串编码与解码** `getBytes()`将字符串转换为...

    理解java中的字符串的内存分配

    比较这两个变量时,应该使用 `if (str1 == null)` 来判断 `str1` 是否为 `null`,而使用 `if (str2.equals(""))` 来判断 `str2` 是否为空字符串。 #### 变量字符串与常量字符串的区别 考虑以下代码: ```java ...

    判断字符串格式的时间

    正则表达式是一种强大的文本匹配工具,用于模式匹配、搜索和替换字符串中的文本。在本例中,正则表达式被用来验证一个字符串是否符合特定的日期格式。具体来说,正则表达式 `@"\d{4}-\d{1,2}-\d{1,2}"` 被用来检查...

    java 字符串操作类

    `isEmpty()` 通常用于检查字符串是否为 null 或长度为 0,而 `isNotBlank()` 不仅检查空和长度,还会考虑字符串中是否有空白字符,确保字符串含有实质性的内容。 4. **去除空格**: `trim()` 方法用于去除字符串两...

    java if判断字符串非空.docx

    在这个例子中,即使`a`和`b`都是空字符串,由于它们是不同的对象实例,因此`a == b`返回`false`。 2. **Apache Commons Lang 的 StringUtils**: - `StringUtils.isNoneEmpty(s)`:这是一个非常实用的工具方法,它...

    java判断一个字符串是否是小数的方法

    Java 语言中判断一个字符串是否是小数的方法是非常重要的,因为在实际开发中,我们经常需要对用户输入的字符串进行验证,以确保其符合我们的业务逻辑。以下是关于 Java 判断一个字符串是否是小数的方法的详细介绍: ...

    java 去掉重复字符 三个方法

    我们也可以使用`StringBuilder`和`while`循环来实现相同的功能,不过这种方式相对复杂一些,需要判断字符是否已存在于结果字符串中。 ```java public String removeDuplicates(String str) { StringBuilder result...

    java字符串操作大全

    此方法用于从字符串中获取多个字符并将其存放到一个字符数组中。 ```java String s = "this is a demo of the getChars method."; char buf[] = new char[20]; s.getChars(10, 14, buf, 0); ``` 这段代码中,`...

    求字符串中的第一个数字

    根据给定的信息,我们可以分析并总结出以下与“求字符串中的第一个数字”相关的知识点: ### 1. 字符串操作基础 #### 1.1 字符串简介 在 Java 中,`String` 类用于表示不可变的字符序列,即字符串。字符串在 Java ...

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

    为了方便你直接使用这些功能,你可以将以上代码保存到名为`Java取得字符串中汉字字符串.java`和`判断是否为空白字符串.java`的两个Java文件中。在你的项目中导入并使用这些类,它们将帮助你有效地处理字符串中的汉字...

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

    总结来说,理解Java中`null`、空字符串`""`的区别,以及如何安全地进行比较,是编写健壮代码的关键。同时,了解字符串对象的内存地址和内容相等性的差异,可以帮助我们更好地理解和调试程序。在实际开发中,应始终...

    截取指定长度的字符串

    "截取指定长度的字符串"这个主题涉及到的是如何从一个字符串中提取出特定长度的部分。这在处理用户输入、数据展示、信息提取等多个场景中都非常常见。接下来,我们将深入探讨这个知识点。 首先,让我们明确什么是...

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

    在Java编程中,经常需要判断字符串是否为空(null 或者空字符串)。为了确保程序的健壮性和避免NullPointerException等异常,掌握正确的字符串判断方法至关重要。本文将详细介绍三种常用的判断字符串是否为空的方法...

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

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

    判断字符串是否只有数字

    - **空字符串处理**:当传入的字符串为空 (`""`) 时,根据 `[0-9]*` 的定义,空字符串也会被视为“仅包含数字”。如果需要排除这种情况,可以在方法中添加检查: ```java if (str.isEmpty()) { return false; } ...

    java 字符串线输出大写后输出小写

    - 增加适当的错误处理逻辑,比如当输入为空字符串时应有相应的提示或处理方式。 4. **代码简洁性**: - 可以考虑封装一个方法专门用于执行字符分类和输出的功能,以增强代码的复用性和可读性。 综上所述,这个...

    Java判断字符串是否是整数或者浮点数的方法

    [.\\d]*$"`允许在字符串中出现一个小数点`.`。这里的`.`需要转义为`\.`,因为`.`在正则表达式中有特殊含义,表示匹配任何单个字符。`[.\\d]*`意味着可以有零个或多个小数点和/或数字。 这些方法能够有效地检测字符...

Global site tag (gtag.js) - Google Analytics