“对象......”的意义

时间:2013-04-03 10:34:07

标签: java

在最近浏览各种程序时,我看到了以下代码:

protected Object doInBackground(Object... arg0)
{
    ....
    ....
    ....
}

我不明白Object...

的重要性

我从未在任何数据类型之后看到...

8 个答案:

答案 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。在这种情况下,它使该方法非常通用。它可以采取任何数量和任何类型的论点。