一尘不染

我可以将数组作为参数传递给Java中具有可变参数的方法吗?

java

我希望能够创建如下功能:

class A {
  private String extraVar;
  public String myFormat(String format, Object ... args){
    return String.format(format, extraVar, args);
  }
}

这里的问题是,在方法中将其args视为,因此是的单个参数,而我希望每个in 都作为新参数传递。由于也是带有可变参数的方法,因此应该可行。Object[]myFormatString.formatObjectargsString.format

如果这不可能,是否有类似的方法String.format(String format, Object[] args)?在那种情况下,我可以extraVarargs使用一个新数组,然后将其传递给该方法。


阅读 2852

收藏
2020-03-01

共1个答案

一尘不染

可变参数方法的基本类型function(Object... args)function(Object[] args)。Sun以这种方式添加了varargs,以保持向后兼容性。

所以,你应该只能够预先考虑extraVarargs和呼叫String.format(format, args)

2020-03-01