Spring框架使用方法,您可以根據需要傳遞儘可能多的參數。具有無限參數的Java方法
我想寫一個函數,也可以採取無限量的數據。這個功能是如何調用的,以便我可以閱讀它。或者我該如何定義它?
非常感謝。
Spring框架使用方法,您可以根據需要傳遞儘可能多的參數。具有無限參數的Java方法
我想寫一個函數,也可以採取無限量的數據。這個功能是如何調用的,以便我可以閱讀它。或者我該如何定義它?
非常感謝。
它被稱爲varargs。
它允許一個方法採取任意數量的參數。他們是在該方法的數組訪問:
public void foo(String... args) {
for (String arg : args) {
// do smth with arg.
}
}
這是syntactic sugar。編譯器隱藏數組創建,所以不是
bar.foo(new String[] {"1", "2", "3"});
你寫
bar.foo("1", "2", "3");
要添加Bozho的答案,你也可以在你的方法,其他參數可變參數之前:
// foo(13, "foo", "bar", "baz");
// will print:
// 13 - |foo||bar||baz|
public void foo(int a, String... b) {
System.out.println(a + " - ");
for (String c : b) {
System.out.print("|" + c + "|");
}
}
但是,您不能在之後擁有不同類型的參數。這些不起作用:
public void bar(String... b, int b);
public void foo(int a, String... b, int b);
哪個類有這種方法?也許就像靜態主(String []參數) – jjchiw
定義「無限量的數據」。 – pap