变量参数方法 (varargs) 允许您传递任意数量的参数到一个方法。但是,当将数组作为参数传递给 varargs 方法时,它可能不会按预期运行,因为数组被视为单个参数,而不是单独的参数。
In Java 中,可变参数参数是在数据类型后使用省略号 (...) 声明的,就像 myFormat 方法中的 String ... args 一样。此语法表示方法签名中的最后一个参数可以接受一个或多个指定类型的参数。
class A { private String extraVar; public String myFormat(String format, Object ... args){ return String.format(format, extraVar, args); } }
在此示例中, myFormat 方法采用可变数量的参数。但是,当调用 String.format(format, extraVar, args) 时,args 数组将被视为单个参数,而不是单独的参数。
既然你想要args 中的每个元素都作为单独的参数传递,您可以创建一个新数组,其中包含附加的extraVar.
String[] newArgs = prepend(args, extraVar); return String.format(format, newArgs);
在这种情况下,prepend 方法将 extraVar 添加到 args 的开头并返回一个新数组,然后可以将其传递给 String.format。
使用可变参数时,需要注意一些问题mind:
以上是如何在 Java 中正确地将数组传递给变量参数方法?的详细内容。更多信息请关注PHP中文网其他相关文章!