今天看原始碼,突然發現有個方法的型別為 public void functionname(paramttype... paramtname) ,不明白是什麼意思 ,通過呼叫才知道這種方法的引數是可以動態調節的 ,就是我可以同型別的引數傳無數個過來 ,話不多說,直接上**
public static int sum(int a, int... s)
return a;
}
這是乙個很簡單的方法 ,就是把傳進來的引數相加,接下來我們看看怎麼呼叫
public static void main(string args)
注意:同乙個方法我們傳了不同個數的引數 ,編譯器沒有報錯
有朋友們肯定該問了 ,過載方法不是可以實現嗎 ,但是我要告訴你們的是過載的話,只能你定義的方法可以呼叫,做不到這麼智慧型的呼叫,
呼叫結果:
a = 1
b = 3
c = 6
d = 10
e = 15
下面是字串的兩個方法
/**
* 可以傳遞 任意多個 字串 不傳也可以
* @param strs
* @return
*/public static string add(string... strs)
return sbu.length() == 0 ? null : sbu.tostring();
} /**
* 可以傳遞 任意多個 字串 不傳也可以
* @param strs
* @return
*/public static string adds(string... strs)
} return sbu.length() == 0 ? null : sbu.tostring();
}
看下呼叫:
public static void main(string args)
列印 結果:
str1 = null
str2 = 我
str3 = 我是
str4 = 我是中
str5 = 我是中國
str6 = 我是中國人
完整demo:
public class demo );
//傳遞乙個引數
string strs3=adds(new string,new string);
//傳遞乙個引數
string strs4=adds(new string,new string,new string);
//傳遞乙個引數
string strs5=adds(new string,new string,new string,new string);
//傳遞乙個引數
string strs6=adds(new string,new string,new string,new string,new string);
system.out.println("strs1 = "+strs1);
system.out.println("strs2 = "+strs2);
system.out.println("strs3 = "+strs3);
system.out.println("strs4 = "+strs4);
system.out.println("strs5 = "+strs5);
system.out.println("strs6 = "+strs6);
}public static int sum(int a, int... s)
return a;
} /**
* 可以傳遞 任意多個 字串 不傳也可以
* @param strs
* @return
*/public static string add(string... strs)
return sbu.length() == 0 ? null : sbu.tostring();
} /**
* 可以傳遞 任意多個 字串 不傳也可以
* @param strs
* @return
*/public static string adds(string... strs)
} return sbu.length() == 0 ? null : sbu.tostring();
}}
Java可變引數個數方法
jdk5.0新特性 可變個數形式引數 1.可匹配0至多個引數 2.可與其他同名方法構成過載 3.與陣列的使用方法一直,只是多了 沒有引數 4.若要加入其它型別的引數,要寫在可變個數形參之前 class nulltomulvar public int comein0 因為已經存在comein0 方法,...
引數個數可變的函式
今天突然想起引數個數可變的函式,然後想了下,覺得自己還真不太了解它,遂決定弄清楚。1.如何取得可變引數 比如 void f int fixpara1,char p char fixpara1 取得固定引數位址 cout int p 為什麼p 4可以取到第乙個可變引數呢?因為引數在函式被呼叫前,會逐個...
可變引數個數的函式
type vafunction type arg1,type arg2,引數可以分為兩部分 個數確定的固定引數和個數可變的可選引數。函式至少需要乙個固定引數,固定引數的宣告和普通函式一樣 可選引數由於個數不確定,宣告時用 表示。固定引數和可選引數公同構成乙個函式的引數列表。標準c c 包含標頭檔案s...