以下是 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开发工作中,我们经常需要验证用户输入的数据是否符合预期格式,比如验证电话号码、身份证号等是否仅包含数字。这种情况下,一个简单有效的工具方法就显得尤为重要了...
15. **空字符串检查** `isEmpty()`方法判断字符串是否为空。 16. **复制字符串** `repeat(int count)`方法在Java 11中引入,用于重复字符串`count`次。 17. **字符串编码与解码** `getBytes()`将字符串转换为...
比较这两个变量时,应该使用 `if (str1 == null)` 来判断 `str1` 是否为 `null`,而使用 `if (str2.equals(""))` 来判断 `str2` 是否为空字符串。 #### 变量字符串与常量字符串的区别 考虑以下代码: ```java ...
正则表达式是一种强大的文本匹配工具,用于模式匹配、搜索和替换字符串中的文本。在本例中,正则表达式被用来验证一个字符串是否符合特定的日期格式。具体来说,正则表达式 `@"\d{4}-\d{1,2}-\d{1,2}"` 被用来检查...
`isEmpty()` 通常用于检查字符串是否为 null 或长度为 0,而 `isNotBlank()` 不仅检查空和长度,还会考虑字符串中是否有空白字符,确保字符串含有实质性的内容。 4. **去除空格**: `trim()` 方法用于去除字符串两...
在这个例子中,即使`a`和`b`都是空字符串,由于它们是不同的对象实例,因此`a == b`返回`false`。 2. **Apache Commons Lang 的 StringUtils**: - `StringUtils.isNoneEmpty(s)`:这是一个非常实用的工具方法,它...
Java 语言中判断一个字符串是否是小数的方法是非常重要的,因为在实际开发中,我们经常需要对用户输入的字符串进行验证,以确保其符合我们的业务逻辑。以下是关于 Java 判断一个字符串是否是小数的方法的详细介绍: ...
我们也可以使用`StringBuilder`和`while`循环来实现相同的功能,不过这种方式相对复杂一些,需要判断字符是否已存在于结果字符串中。 ```java public String removeDuplicates(String str) { StringBuilder result...
此方法用于从字符串中获取多个字符并将其存放到一个字符数组中。 ```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中`null`、空字符串`""`的区别,以及如何安全地进行比较,是编写健壮代码的关键。同时,了解字符串对象的内存地址和内容相等性的差异,可以帮助我们更好地理解和调试程序。在实际开发中,应始终...
"截取指定长度的字符串"这个主题涉及到的是如何从一个字符串中提取出特定长度的部分。这在处理用户输入、数据展示、信息提取等多个场景中都非常常见。接下来,我们将深入探讨这个知识点。 首先,让我们明确什么是...
在Java编程中,经常需要判断字符串是否为空(null 或者空字符串)。为了确保程序的健壮性和避免NullPointerException等异常,掌握正确的字符串判断方法至关重要。本文将详细介绍三种常用的判断字符串是否为空的方法...
java字符转换类代码,可以实现判断字符串是否为空,并删除首尾空格,字符串替换函数,代码转换,GBK转换为ISO-8859-1,代码转换 从srcCode转换为destCode,代码转换,GBK转换为big5,替换非法字符,标记本身等于分隔...
- **空字符串处理**:当传入的字符串为空 (`""`) 时,根据 `[0-9]*` 的定义,空字符串也会被视为“仅包含数字”。如果需要排除这种情况,可以在方法中添加检查: ```java if (str.isEmpty()) { return false; } ...
- 增加适当的错误处理逻辑,比如当输入为空字符串时应有相应的提示或处理方式。 4. **代码简洁性**: - 可以考虑封装一个方法专门用于执行字符分类和输出的功能,以增强代码的复用性和可读性。 综上所述,这个...
[.\\d]*$"`允许在字符串中出现一个小数点`.`。这里的`.`需要转义为`\.`,因为`.`在正则表达式中有特殊含义,表示匹配任何单个字符。`[.\\d]*`意味着可以有零个或多个小数点和/或数字。 这些方法能够有效地检测字符...