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

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

我希望能够创建这样的功能:

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

问题是args被视为Object[]在方法中myFormat,因此,它是一个单一的参数。String.format,而我希望每一个人Object在……里面args作为一个新的论点通过。自String.format也是一个带有变量参数的方法,这应该是可能的。

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


慕码人8056858
浏览 1566回答 3
3回答

白板的微信

传递数组是可以的-实际上,它相当于相同的事情String.format("%s %s", "hello", "world!");是相同的String.format("%s %s", new Object[] { "hello", "world!"});它只是语法糖-编译器将第一个转换为第二个,因为底层方法需要一个数组瓦拉格参数。看见Varargs-J2SE1.5文档
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java