持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第16天,点击查看活动详情
在Java中,参数类型旁边的3点是什么意思?
String以下方法中的三个点是什么意思?
public void myMethod(String... strings){
// method body
}
高分回答:
这意味着可以将零个或多个String对象(或它们的单个数组)作为该方法的参数传递。
请参见此处的“任意数量的参数”部分:http : //java.sun.com/docs/books/tutorial/java/javaOO/arguments.html#varargs
在您的示例中,您可以将其称为以下任意一种:
myMethod(); // Likely useless, but possible
myMethod("one", "two", "three");
myMethod("solo");
myMethod(new String[]{"a", "b", "c"});
重要说明:以这种方式传递的参数始终是一个数组-即使只有一个。确保在方法主体中以这种方式对待它。
重要说明2:获取的参数...必须是方法签名中的最后一个。因此,myMethod(int i, String... strings)可以,但是myMethod(String... strings, int i)不可以。tream并将字节复制到输出中,然后调用toByteArray()。它通过复制4KiB块中的字节来处理大型文件。
高分回答:
该功能称为varargs,它是Java 5中引入的功能。这意味着该函数可以接收多个String参数:
myMethod("foo", "bar");
myMethod("foo", "bar", "baz");
myMethod(new String[]{"foo", "var", "baz"}); // you can even pass an array
然后,您可以将Stringvar用作数组:
public void myMethod(String... strings){
for(String whatever : strings){
// do what ever you want
}
// the code above is equivalent to
for( int i = 0; i < strings.length; i++){
// classical for. In this case you use strings[i]
}
}
这个答案在很大程度上借鉴了kiswa和Lorenzo的观点……以及Graphain的评论。
文章翻译自 am2dgbqfb6mk75jcyanzabc67y-ac4c6men2g7xr2a-stackoverflow-com.translate.goog/questions/3…
作者建议: 这个我知道,在redis的客户端见过,批量操作的时候
真心感谢帅逼靓女们能看到这里,如果这个文章写得还不错,觉得有点东西的话
求点赞👍 求关注❤️ 求分享👥 对8块腹肌的我来说真的 非常有用!!!
如果本篇博客有任何错误,请批评指教,不胜感激 !❤️❤️❤️❤️