在最近浏览各种程序时,我看到了以下代码:
protected Object doInBackground(Object... arg0)
{
....
....
....
}
我不明白Object...
我从未在任何数据类型之后看到...
。
答案 0 :(得分:6)
它被称为variable arguments或简称为var-args,在java 5中引入。如果方法接受var-args作为参数,则可以将任意数量的参数传递给该方法。例如,下面的方法调用将全部成功进行方法声明:
doInBackground(new Object());
doInBackground(new Object(), new Object());
doInBackground(new Object(), new Object(), new Object());
doInBackground(new Object(), new Object(), new Object(), new Object());
上一篇文章应该会为您提供更多信息 Can I pass an array as arguments to a method with variable arguments in Java?
答案 1 :(得分:3)
请参阅http://docs.oracle.com/javase/tutorial/java/javaOO/arguments.html
中的“任意数量的参数”这是手动创建数组的快捷方式(前一种方法可能使用了varargs而不是数组)。
您可以向doInBackground
输入任意数量的对象参数。然后可以通过方法中的arg0
数组访问它们。 arg0[0]
,arg0[1]
等等。
答案 2 :(得分:0)
您可以将Object视为java中用户定义类的所有运行时实例的父级。 “...”指的是java中的Varargs。这是example的varargs。它基本上被解释为Arrays。
答案 3 :(得分:0)
Object是Java中所有类的基本类型,除了基元。
这三个点表示可以传递任意数量的参数,即varargs。
答案 4 :(得分:0)
...
允许您提供多个名为varargs的参数。
doInBackground(1, "hello", "world");
这就是MessageFormat.format
方法的工作原理,它允许您指定格式,然后指定对象来填充该格式。
public static String format(String pattern,
Object... arguments);
//Usage
MessageFormat.format("hello {0}, I'm from {1}", "John", "Earth");
答案 5 :(得分:0)
它告诉我们可以发送任何数量的特定数据类型的参数,而不是在函数def中写入'n'次。 Check this.
答案 6 :(得分:0)
这实际上是方法中的变量长度或参数。当您调用此方法时,您可以将对象类的n个对象传递给此方法,而arg0将是数组ob对象。它非常古老而且非常简单。没别了......
答案 7 :(得分:0)
省略号或(...)称为var-args。在这种情况下,它使该方法非常通用。它可以采取任何数量和任何类型的论点。