A. java空字符串与null的区别和判断字符串是否为空的方法
虽然都是没有信息,但是null代表堆内存中根本没有这个东西,而空字符串就完全不同了,空字符串也是字符串,他是有内存空间的
判断字符串是否为空
/**
*判断字符串是否为空
*@paramstr字符串
*@return是否为空
*/
(Stringstr){
returnstr==null||str.trim().length()==0;
}
B. Java空字符串与null的区别和判断字符串是否为空的方法
空字符串:例如 String a=""; 与a=null;
还是有一定的区别的,第一个你是已经初始化了,a开了块空间存储了“”;而a=null,未初始化,如果你直接打印输出,二者是有区别的,第一个是空字符串,第二个视情况可能输出null或者直接崩溃,报空指针异常
如何判断字符串是否为空,你可以直接用个String 类型去接收,例如String a="XXXX";
然后你判断a的length是否大于0就好了。大于0非空
C. java 空字符串与null区别
做成员变量(字段/属性/类变量)时,如果只写String str;那么是默认赋值为null的。
做局部变量(方法里的变量)时,如果只写String str;是不会默认赋值null的,这里仅声明了一个str变量,在栈内存中有定义,但没有任何值,null其实也是一种值。此时任何调用str的操作,编译时就均会报错,是error,不是异常。null的话,你屏幕输出(toString方法)的结果为字符串null,但其它调用str的操作,编译可通过,运行时会空指针异常,此时是异常。
String str = ""; // 这个跟"abc"、"中国",本质上这都一样,只是空串,长度为0罢了
""是空字符串,但是也是字符串,没有什么东西。
而null是空的意思,什么都没有,没有地址。
D. Java空字符串与null的区别和判断字符串是否为空的方法
Stringstr=null;
Stringstr2="";
null表示str对象是不存在的,还没被实例化,如果调用它的一些方法会空指针
""表示str2的值是空的字符串,没任何东西,对象存在,调用方法不会空指针
if(str2!=null&&!str2.isEmpty())//判断对象不为空,并且不是空字符串