2012-11-20 41 views
0

爲什麼org.slf4j.Logger使用可變參數,如:問題與SLF4J可變參數Vs的陣列

public void info(Marker marker, String format, Object... arguments); 

但兩者org.slf4j.ext.LoggerWrapper從而org.slf4j.cal10n.LocLogger使用數組一樣:

public void info(Marker marker, String format, Object[] argArray); 

回答

0

LoggerWrapper和LocLogger與可變參數的語法兼容時使用的Java 5+,但他們也與Java < 5.兼容數組語法可以被編譯並在舊版本的Java運行時仍然支持可變參數的語法時Java> = 5被使用。

SLF4J API < 1.7使用的數組語法。隨着API 1.7版本,使用了可變參數的語法,這意味着它不能在的Java版本< 5.

使用你可能看看varargs and the '...' argument對於如何工作的一些例子,爲什麼你會想這樣做。