嗨,有沒有什麼辦法讓我可以傳遞可變參數給方法?將可變參數傳遞給方法
public void unMarshalling(String type, int number){
}
,使不是int,我可以讓我的方法,使得我能夠在浮動,雙,字符串等基本數據類型(+弦)通過。任何簡單的例子將深受讚賞!非常感謝!
嗨,有沒有什麼辦法讓我可以傳遞可變參數給方法?將可變參數傳遞給方法
public void unMarshalling(String type, int number){
}
,使不是int,我可以讓我的方法,使得我能夠在浮動,雙,字符串等基本數據類型(+弦)通過。任何簡單的例子將深受讚賞!非常感謝!
試試這個:
public void unMarshalling(Object ... params) {
}
現在,你可以通過任何數量的任何類型的參數:
unMarshalling(23);
unMarshalling("Hello");
unMarshalling("Hello", 45.3);
public void unMarshalling(String a, int b){}
public void unMarshalling(String a, float b){}
public void unMarshalling(String a, double b){}
public void unMarshalling(String a, String b){}
它會知道調用基於其類型之一。如果真的只有一個函數,你可以把它的'肉'放在String/int中,然後在String/float中,你可以將float轉換爲一個int,並且調用String/int。
public void unMarshalling(String a, float b)
{
unMarshalling(a,(int)b);
}
Java有VAR-ARGS功能,這意味着你可以通過在給定類型實例VAR-ARGS任意數量的說法 -
public void myMethod(int...args)
{
}
,你可以把這個作爲如下方法 -
myMethod(3);
或myMethod(3,4);
或myMethod(3,65,74);等等。
您可以指定除int以外的任何類型的參數。
如果您有多個參數,請保留var-args作爲最後一個參數。
你的意思是:可變數量的參數或* generic *可變參數(可以是任何東西)? – 2012-03-20 04:09:13
也許'public void example(Object a){}'可以做到嗎? – 2012-03-20 04:12:45