我有一个接口,在接口中我想声明一个方法,它可以将任意数量的对象作为输入.
像这样的东西:
interface Implementable{
public ReturnObj doIt(objects ....);
}
Run Code Online (Sandbox Code Playgroud)
请指教
在您的情况下,正确的语法是:
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声明时,两个方法调用都将编译并且是等效的.
| 归档时间: |
|
| 查看次数: |
2554 次 |
| 最近记录: |