为什么org.slf4j.Logger使用varargs:
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 :(得分:1)
当使用Java 5+时,LoggerWrapper和LocLogger与varargs语法兼容,但它们也与Java兼容< 5.数组语法可以在旧版本的Java下编译和运行,同时在使用Java> = 5时仍支持varargs语法。
SLF4J API< 1.7使用了数组语法。对于API版本1.7,使用了varargs语法,这意味着它不能用于Java版本< 5。
您可以查看varargs and the '...' argument,了解更多有关其工作原理的示例以及您可能希望这样做的原因。