多输入java的方法

tam*_*nad 1 java interface

我有一个接口,在接口中我想声明一个方法,它可以将任意数量的对象作为输入.

像这样的东西:

interface Implementable{
     public ReturnObj doIt(objects ....);
}
Run Code Online (Sandbox Code Playgroud)

请指教

aio*_*obe 5

在您的情况下,正确的语法是:

interface Implementable{
    public ReturnObj doIt(Object... objs);
}
Run Code Online (Sandbox Code Playgroud)

var-arg方法的官方文档可在此处找到.

我正要问varargs和传递数组之间的区别,

Varargs被编译成数组类型的参数.唯一的区别在于vararg语法,方法调用如

doIt("hello", "world");
Run Code Online (Sandbox Code Playgroud)

将编译成

doIt(new Object[] { "hello", "world" });
Run Code Online (Sandbox Code Playgroud)

换句话说,给出一个声明如

public ReturnObj doIt(Object[] objs);
Run Code Online (Sandbox Code Playgroud)

你会的

doIt(new Object[] { "hello", "world" });  // works fine
doIt("hello", "world");                   // won't compile
Run Code Online (Sandbox Code Playgroud)

给定var-arg声明时,两个方法调用都将编译并且是等效的.