平安普惠i贷提额灰色的:java小问题

来源:百度文库 编辑:高考问答 时间:2024/05/09 04:26:21
在做字符串判断时,为什么要写
String userName;
if((userName == null) || (userName.length() < 1)
...
为什么==null和长度小于1都需要判断?

长度为0和null是完全不一样的感念,长度为0表示String变量已经在内存里了,null表示还没有为String变量分配内存空间

我也感觉是一样的啊.........

null和长度为0是两个意思。userName==null说明userName没有实体是一个空的指针,不指向任何的内存空间,如果不在此处进行判断,程序继续跑下去可能会报错,带来不必要的麻烦。
至于userName.length() < 1说明userName中已经分配了内存空间,也就是有实体了,只是判断一下userName里有没有值。

当 String userName = null; 时
if(userName == null)
返回true

当String userName = "";时
if(userName.length() < 1)
返回true

注意当userName为null时,是无法调用length()方法的