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;
等.