java怎么判断字符是否为空,JAVA判断字符串是否为空
java判断字符是否为空
下面总结了四种判断字符是否为空的java方法。希望对你有帮助。
方法一、最多人使用的一个方法, 直观, 方便, 但效率很低:
if(s==null s . equals());方法二、 比较字符串长度, 效率高, 是我知道的最好一个方法:
if(s==null s . length()==0);方法三、 Java SE 6.0 才开始提供的方法, 效率和方法二几乎相等, 但出于兼容性考虑, 推荐使用方法二.
if(s==null s . isempty());方法四、这是一种比较直观,简便的方法,而且效率也非常的高,与方法二、三的效率差不多:
if(s==null s== );注意:s==null是必需的。(推荐教程:java教程)
如果字符串类型为null,并且执行equals(String)或length()等操作会抛出java.lang.NullPointerException。
而且s==null的顺序必须先来,否则也会抛出java.lang.NullPointerException。
以下Java代码:
String str=null
f(str . equals() str==null){//会抛出异常
System.out.println(success )。
}补充:
首先,空字符串和null的区别
1.类型
Null表示对象的值,而不是字符串。比如声明一个对象的引用,字符串a=null
表示空字符串,这意味着其长度为0。例如,声明一个字符串String=“”;
2.存储器分配
String str=null声明对string对象的引用,但指针为空,即没有指向任何内存空间;
string str=“”;用空字符串“”的值声明字符串类型的引用。这个str引用指向空字符串的内存空间;
在java中,变量和引用变量存储在堆栈中,而对象(由new生成)存储在堆中:
如下所示:
String str=新字符串( ABC );Ps:=左边的存储在栈中,右边的存储在堆中。
3.示例程序:
公共类String_Demo01 {
公共静态void main(String[] args) {
String str1=新字符串();
String str2=null
字符串str 3=“”;
system . out . println(str 1==str 2);//内存地址的比较,返回false
system . out . println(str 1 . equals(str 2));//值的比较,并返回false
system . out . println(str 2==str 3);//内存地址的比较,返回false
system . out . println(str 3 . equals(str 2));//值的比较,并返回false
system . out . println(str 1==str 3);//内存地址的比较,返回false
system . out . println(str 1 . equals(str 3));//值的比较,返回true
}
}通过以上程序,可以得出以下结论:
字符串的值和null不相等,内存地址也不相等;
空字符串对象不等于空值,内存地址不等于;
用于创建字符串对象的new String()的默认值为“”(字符串成员变量的初始值为null)。以上是java判断一个字符是否为空的细节。请多关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。