簡體   English   中英

多輸入法 java

[英]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);
  1. 您需要先了解 可變參數
  2. 問題是什么?

例子:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM