为什么 org.slf4j.Logger 使用可变参数,例如:
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);
为什么 org.slf4j.Logger 使用可变参数,例如:
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);
LoggerWrapper 和 LocLogger 在使用 Java 5+ 时与 varargs 语法兼容,但它们也与 Java < 5 兼容。数组语法可以在 Java 的旧版本下编译和运行,同时在 Java >= 5 时仍然支持 varargs 语法.
SLF4J API < 1.7 使用数组语法。在 API 版本 1.7 中,使用了 varargs 语法,这意味着它不能用于 Java 版本 < 5。
您可能会查看varargs 和 '...' 参数,以获取更多有关其工作原理以及您可能想要这样做的示例。