对于Java的null和""及ArrayList的理解

最近看了看《Thinking in Java》深有感触,把以前的迷惑解开了不少,今天就Java的null和""及ArrayList讲解下,希望对迷惑于此的朋友们有所帮助。

一。代码:

import java.util.ArrayList;


public class testNull
{
/**
* @param args
*/
public static void main ( String[] args )
{

testNull a=new testNull();
ArrayList<String> l=a.getTest("");

if(l==null)
{
System.out.println("is null");
}
else
{
System.out.println("is not null");
}
}

public ArrayList<String> getTest(String item)
{
ArrayList<String> list=new ArrayList<String>();
if(item==null || "".equals(item))
{
return null;
}
else
{
return list;
}
}
}


二。讲解
上述的代码中有两个地方可以测试。
1.在public ArrayList<String> getTest(String item)方法中,如果if(item==null || "".equals(item))改成if(item==null )则会输出"is not null"
如果加上,则会输出"is null",这说明null和""是不一样的。

2.if(item==null)则会输出"is not null",但为什么会输出不是空呢?因为这句代码“ArrayList<String> list=new ArrayList<String>();”,事实上,这句代码的意思已经代表在内存区域分配了内存,所以return list是不为空(null)的。但反过来说,如果把ArrayList<String> list=new ArrayList<String>();改成ArrayList<String> list=null;的话则会输出"is null"

3.我们在用ArrayList和Iterator的时候,希望注意null的判断。

三。小小讲解,希望对大家理解上有所帮助。(^_^ :idea: )
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值