最近在浏览各种程序时,我看到了以下代码:
protected Object doInBackground(Object... arg0)
{
....
....
....
}
我不明白的意义Object...
我从未见过...
任何数据类型。
最近在浏览各种程序时,我看到了以下代码:
protected Object doInBackground(Object... arg0)
{
....
....
....
}
我不明白的意义Object...
我从未见过...
任何数据类型。
它被称为可变参数或简单的 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());
上一篇文章应该为您提供更多信息 我可以将数组作为参数传递给 Java 中具有可变参数的方法吗?
请参阅http://docs.oracle.com/javase/tutorial/java/javaOO/arguments.html中的“Arbitrary Number of Arguments”
这是手动创建数组的捷径(之前的方法可能使用可变参数而不是数组)。
您可以将任意数量的对象参数输入到doInBackground
. 然后可以通过arg0
您方法中的数组访问它们。arg0[0]
, arg0[1]
, 等等。
您可以将 Object 视为 java 中用户定义类的所有运行时实例的父级。“...”指的是 java 中的可变参数。这是可变参数的示例 。它本质上将被解释为数组。
Object 是 Java 中所有类的基本类型,除了原语。
这三个点表示可以传递任意数量的参数,也就是可变参数。
...
允许您提供多个称为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");
它是我们告诉可以发送任意数量的特定数据类型的参数的方式,而不是在函数 def 中写入“n”次。 检查这个。
这实际上是方法中的可变长度或参数。当您调用此方法时,您可以将 n 个 Object 类的对象传递给此方法,而 arg0 将是您的数组 ob 对象。它非常古老而且非常简单。没有其他的..
省略号或 (...) 称为 var-args。在这种情况下,它使该方法非常通用。它可以采用任何数量和任何类型的参数。