日期:2014-05-20  浏览次数:20636 次

java中关于null和返回值的问题
public String getTwoDay(String sj1, String sj2)
{  
SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");  
long day = 0;  
try { 

java.util.Date date = myFormatter.parse(sj1);  
java.util.Date mydate = myFormatter.parse(sj2);  
day = (date.getTime() - mydate.getTime()) / (24 * 60 * 60 * 1000);  

catch (Exception e)
{  
return ""; //1
}  
return day+"" ;//2  
}  

这是一个计算日间隔的部分代码 //1中的return ""和return null有什么区别没?null是一个对象,""也是一个对象啊 
还有//2中为什么day+""返回的就是字符窜
印象中基本数据类型+String类型结果都是字符窜,这是java规定的吗?

------解决方案--------------------
null空的对象.
""表示的是一个空字符的String对象.
String+Object会变成String+String.valueOf(Object)
所以结果会变成了String.

String str="";
String aa=null;
null可以表示任何的空对象.
Integer i=null;
Long l=null;
等.