[英]Method with multiple inputs java
我有一個接口,我想在接口中聲明一個方法,以便它可以將任意數量的對象作為輸入。
像這樣的東西:
interface Implementable{
public ReturnObj doIt(objects ....);
}
請指教
在您的情況下,正確的語法是:
interface Implementable{
public ReturnObj doIt(Object... objs);
}
可在 此處找到 var-arg 方法的官方文檔。
我正要問可變參數和傳遞數組的區別,
Varargs 被編譯成數組類型的參數。 唯一的區別在於 vararg 語法,方法調用如
doIt("hello", "world");
會被編譯成
doIt(new Object[] { "hello", "world" });
換句話說,給定一個聲明,例如
public ReturnObj doIt(Object[] objs);
你會有
doIt(new Object[] { "hello", "world" }); // works fine
doIt("hello", "world"); // won't compile
雖然給出了 var-arg 聲明,但兩個方法調用都將編譯並且是等效的。
傳遞一個數組:
public ReturnObj doIt(Object[] input);
或使用等效的可變參數表達式
public ReturnObj doIt(Object... input);
例子:
interface Implementable{
public ReturnObj doIt(Object... object);
}
或者(我應該更喜歡,尤其是在 Web 服務設計中):
interface Implementable{
public ReturnObj doIt(Object[] object);
}
您忘了問一個問題,但假設您想知道如何聲明一個采用可變數量 arguments 的方法,請查看此鏈接:
http://download.oracle.com/javase/1,5.0/docs/guide/language/varargs.html
所以它會是
interface Implementable{
public ReturnObj doIt(Object... objects);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.