Java中判断String不为空的问题
一、判断一个字符串str不为空的方法有:
1. str!=null;
2. "".equals(str);
3. str.length()!=0;
( 注意:length是属性,一般集合类对象拥有的属性,取得集合的大小。
例如:数组.length就是取得数组的长度。
length()是方法,一般字符串类对象有该方法,也是取得字符串长度。
例如:字符串.length();
)
说明:
1. null表示这个字符串不指向任何的东西,如果这时候你调用它的方法,那么就会出现空指针异常。
2.""表示它指向一个长度为0的字符串,这时候调用它的方法是安全的。
3. null不是对象,""是对象,所以null没有分配空间,""分配了空间,例如:
String str1 = null; str引用为空
String str2 = ""; str应用一个空串
str1还不是一个实例化的对象,儿str2已经实例化。
对象用equals比较,null用等号比较。
如果str1=null;下面的写法错误:
if(str1.equals("")||str1==null){ }
正确的写法是 if(str1==null||str1.equals("")){ //先判断是不是对象,如果是,再判断是不是空字符串 }
4. 所以,判断一个字符串是否为空,首先就要确保他不是null,然后再判断他的长度。
String str = xxx;
if(str != null && str.length() != 0) { }
二、 Java 判断字符串是否为空的三种方法的效率
(转自网上)
function 1: 最多人使用的一个方法, 直观, 方便, 但效率很低.
function 2: 比较字符串长度, 效率高, 是我知道的最好一个方法.
function 3: Java SE 6.0 才开始提供的方法, 效率和方法二几乎相等, 但出于兼容性考虑, 不推荐使用
以下是三种方法在机器上的运行结果: (机器性能不一, 仅供参考)
function 1 use time: 141ms
function 2 use time: 46ms
function 3 use time: 47ms
三种方法的代码如下:
方法一:
public void function1(String s,int n) {
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");
}
方法二:
public void function2(String str,int n) {
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");
}
方法三:
public void function3(String str , int n) {
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");
}
分享到:
相关推荐
本文主要讨论了如何正确判断Java中的String对象是否为null、空值("")以及它们的地址是否相等。在处理字符串时,了解这些概念对于避免程序出错至关重要。 首先,我们需要区分`null`和空字符串`""`。`null`表示变量...
java判空工具类 可以判断字符串数组,字符串类型,List对象集合,Map集合map<String,object>,map和多个String参数,对象类型...java判断对象属性是否全部为空,只要有一个属性不为空,那么就不是所有的属性值都为空。
在JAVA语言中,日期判断是非常重要的一部分,以下是常见的日期判断方法的总结: 1. 判断某年是否为润年 判断某年是否为润年是日期判断的基本方法之一。该方法可以使用以下代码实现: ```java public static ...
在Java编程语言中,判断字符串`String`是否为空是一个常见的需求。这通常涉及到对字符串对象的检查,确保它们既不是`null`也不是空字符串。在本文中,我们将深入探讨几种不同的方法来完成这个任务,并分析它们的效率...
java 判断对象是否为空.如String,Character,Object[]
在Java编程中,判断对象是否为空是一个常见的操作,特别是在处理数据结构、进行异常处理或确保方法参数正确性时。本文将深入探讨如何有效地检查对象是否为空,并提供相关的工具类和源码分析。 首先,Java中对象的...
在Java编程语言中,`String`类是使用最频繁的类之一,它代表不可变的字符序列。本文将深入解析`String`类的一些常用方法,帮助开发者更好地理解和使用这个核心类。 1. **构造方法** - `String()`:创建一个空字符...
在Java编程中,判断对象是否为空是一个至关重要的实践,它能有效地防止NullPointerException异常的发生,确保程序的健壮性。在本文中,我们将深入探讨几种优雅地判断对象为空的方法,包括基本对象、集合类如List、...
java编程中对字符串的各种方式的处理,包括(空字符串处理、判断是否是空字符串 null和"" 都返回 true、 把string array or list用给定的符号symbol连接成一个字符串、 判定第一个字符串是否等于的第二个字符串中的某...
Java中StringUtils工具类进行String为空的判断解析 在Java中,StringUtils工具类提供了多种方法来判断一个字符串是否为空或非空,这些方法都是非常有用的。在本文中,我们将详细介绍StringUtils工具类中关于String...
标题中提到的“java判断String类型是否能转换为int的方法”,是指在Java编程语言中,如何编写代码来判断一个String类型的变量是否能够被转换成一个int类型的数值。在Java中,String到int的转换是一个常见的需求,...
Android 中 String 比较、EditText 输入判断和数字输入限制的实现 Android 开发中,字符串比较和 EditText ...在上面的代码中,我们首先判断 EditText 输入是否为空,如果为空,则弹出对话框提示用户输入不能为空。
在Java编程中,判断对象是否为空是一个常见的任务,特别是在处理数据和验证输入时。这篇文章将深入探讨如何在Java中检查对象是否为`null`或空字符串,并提供一个实用的工具类示例,帮助开发者实现这一功能。 首先,...
本文将深入探讨Java中导入和判断Excel的使用方法,结合实例分析,帮助你全面理解这一技术。 首先,Java与Excel的交互通常依赖于第三方库,如Apache POI或JExcelAPI。Apache POI是目前最常用的一个,它提供了丰富的...
Java String 类型 API 测试代码 1.String和char[]之间的转换 toCharArray(); 2.String和byte[]之间的转换 getBytes() Arrays工具类 : Arrays.toString(names) String类 String replace(char oldChar, ...
在Java中使用正则表达式来判断字符串是否符合整数、小数或实数的格式是一种常见且有效的做法。在编程中,我们经常需要对输入的字符串进行格式验证,以确保它们符合预期的数值格式,尤其是在处理财务数据、用户输入...
import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.time.temporal.TemporalAdjusters; public class LocalDateTimeUtil { /** * 比较 localDateTime2 是否在...
在Java编程中,判断目录是否为空是一个常见的任务,特别是在处理文件系统操作时。这个实例教程将深入探讨如何通过Java API来实现这一功能。在本文中,我们将详细讲解相关的Java知识,包括文件和目录操作,以及如何...
EmptyUtils.java---Java验证对象是否为空的工具类,工具可判断List,String,Integer,Object,Object[]类型的对象是否为空。
此方法是Java SE 6.0版本后新增的功能,通过调用`String`类中的`isEmpty`方法来判断字符串是否为空。该方法返回一个布尔值,表示该字符串是否为空(既包括null也包括空字符串)。 **代码示例:** ```java if (s ==...