2
出於好奇,爲什麼我會在MONTH
下面的測試用例中收到IllegalArgumentException
?Java日期奇數
public class Testing {
public static void main(String args[]) {
Calendar c = Calendar.getInstance(Locale.getDefault());
c.setLenient(false);
Date d = new Date();
c.set(Calendar.MONTH, Calendar.FEBRUARY);
c.set(Calendar.DAY_OF_MONTH, 30);
c.set(Calendar.YEAR, 2010);
d = c.getTime(); //Exception is not thrown until this line
System.out.println(d.toString());
}
}
我看着GregorianCalendar的是我的系統上的默認,並認識到MONTH
場實際上將兩個2月30日在此情況下不同,VS 3月2日的第一個,但不該這個IllegalArgumentException
是導致溢出的原因,還是被認爲很難「發現」?
+1的非編程相關的答案。霍拉 – 2010-11-30 20:08:28