2011-11-20 39 views
0

我有這個類:爲什麼DateFormat#格式接受int參數?

import java.text.DateFormat; 
import java.text.SimpleDateFormat; 

public class Test { 
    public static void main(String[] argv) { 
     DateFormat df = new SimpleDateFormat("dd/MM/yyyy"); 


     String h = df.format(1); 
     System.out.println(h);//output: 
    } 
} 

它編譯沒有與OpenJDK的問題7.

AFAIK沒有日期格式#格式(INT)。

是否有任何隱式轉換將1轉換爲Date?

回答

2

它從Format#format(Object)繼承,並且intautoboxedInteger。該值被解釋爲紀元時間。

+0

啊,好的。沒有注意到繼承。 – soulcheck

+0

它在[SimpleDateFormat'javadoc](http://download.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html)中的方法概要之下,標題爲「從...繼承的方法類java.text.Format「。 – BalusC

+0

是啊,現在我明白了。愚蠢的我。得到一些咖啡:) – soulcheck

0

DateFormat從類繼承格式化方法格式(Object)(請參閱here)。通過將int自動裝入到java.lang.Integer中,int可以隱式轉換爲Object。

相關問題