Java中的字符串...参数
我必须为家庭作业实现一个 API,而我的导师对 API 中的方法之一使用了我不熟悉的符号(基于 javadoc)。
public void method(String... strs);
“……”是什么意思?后来看起来我需要使用单个字符串实际参数以及多个字符串实际参数来调用相同的方法...
Java没有可选参数(据我所知),所以我在这里有点困惑...
I have to implement an API for a homework assignment, and my instructor has used a notation I am unfamiliar with for one of the methods in the API (javadoc based).
public void method(String... strs);
What do the '...' mean? It later looks like I'll need to call this same method using a single string actual parameter, as well as multiple string actual parameters...
Java doesn't have optional arguments (to my knowledge), so I am a little confused here...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
它被称为可变参数; http://docs.oracle.com/javase/6/docs/technotes/ guides/language/varargs.html
这意味着您可以将任意数量的参数传递给该方法(甚至零)。
在该方法中,参数将自动放入指定类型的数组中,您可以使用该数组来访问各个参数。
It's called varargs; http://docs.oracle.com/javase/6/docs/technotes/guides/language/varargs.html
It means you can pass an arbitrary number of arguments to the method (even zero).
In the method, the arguments will automatically be put in an array of the specified type, that you use to access the individual arguments.
是的,这意味着您可以采用任意字符串作为此方法的参数。
对于您的方法:
您可以将其称为:
任何没有参数都可以。换句话说,它是以下内容的替代品:
Yes, that means you can take arbitrary no of Strings as an argument for this method.
For your method:
You can call it as:
Any no of arguments would work. In other words, it is a replacement for:
它称为 省略号,这意味着该方法可以采用多个
String
作为其论点。请参阅:Oracle 站点上的有关传递参数的 Java 教程。
It's called an ellipsis and it means the method can take multple
String
s as its argument.See: The Java tutorial on passing arguments on Oracle's site.
请参阅 java 可选参数:从 Java 5 开始,Java 支持可变数量的参数。
See java optional parameters : as of Java 5, Java has support for variable numbers of arguments.