JAVA中空值null与字符串null含义的区分

java中字符串型的量(如:String s),

    初始化为空时(s==null),打印出来为null,但是对他不能进行.isEmpty()和.length()的操作,会抛出空指针异常。

    给他们后边添加字符串后(s=s+”yuanyuan“),打印时前边会保留null(nullyuanyuan),length也会包含null的长度(12); 

    【注意1】java中任何类型的变量,都得初始化之后才能使用,即使是打印出来,也要先初始化。

    【注意2】从数据库查询的结果集中ResultSet的getString时要注意区分表示空的null和表示字符串的"null"。

               (不管该列是什么类型,如果rtset.getString(colIndex)==null,那么就是空,否则就不为空)。

public class TestStringNull
{
public static void main(String[] args)
{

String s;
s = null;
System.out.println("s1="+s);
s= s+"yuanyuan";
System.out.println("s2="+s+",length="+s.length());
s = "null";
System.out.println("s3="+s);
s= s+"yuanyuan";
System.out.println("s4="+s+",length="+s.length());

String y = null;
if (y == null)
{
System.out.println("is null");
}
else if (y.equals("null"))
{
System.out.println("is character \"null\"");

}

y = "null";
if (y == null)
{
System.out.println("is null");
}
else if (y.equals("null"))
{
System.out.println("is character \"null\"");
}

}

}

输出结果:

s1=null
s2=nullyuanyuan,length=12
s3=null
s4=nullyuanyuan,length=12
is null
is character "null"

下面,对比来看int的情况

public class TestIntNull
{
public static void main(String[] args)
{
int s;
//初始化之前,以下打印不能执行
//System.out.println("s0="+s+",length="+String.valueOf(s).length()+"isempty="+String.valueOf(s).isEmpty());
s = 0 ;
System.out.println("s0="+s+",length="+String.valueOf(s).length()+"isempty="+String.valueOf(s).isEmpty());
s= s+1;
System.out.println("s2="+s+",length="+String.valueOf(s).length());
}
}

输出结果:

s0=0,length=1isempty=false
s2=1,length=1

原文地址:https://www.cnblogs.com/liuyuanyuanGOGO/p/3071469.html