❶ java一個方法可以有幾個可變參數列表
只能有一個,並且只能是最後一個,可變參數實質上返緩就是 數組,如果需要兩個以上的可變參數可以通過燃世裂 method(Object[] o1, Object[] o2) 方式來皮閉實現。
❷ java中的可變參數
B項是不對的,不能有多個可變參數。。。。
可變參數只能有一個,而且只能是在形參的最後一個
❸ Java中方法內的可變參數怎麼使用
Java1.5增加了新特性:可變參數:
適用於參數個數不確定,類型確定的情況,java把可變參數當做數組處理。
注意:可變參數必須位於最後一項。當可變參數個數多餘一個時,必將有一個不是最後一項,所以只支持有一個可變參數。因為參數個數不定,所以當其後邊還有相同類型參數時,java無法區分傳入的參數屬於前一個可變參數還是後邊的參數,所以只能讓可變參數位於最後一項。
可變參數的特點:
(1)、只能出現在參數列表的最後;
(2)、...位於變數類型和變數名之間,前後有無空格都可以;
(3)、調用可變參數的方法時,編譯器為該可變參數隱含創建一個數組,在方法體中一數組的形式訪問可變參數。
publicclassVarable{
publicstaticvoidmain(String[]args){
System.out.println(add(2,3));
System.out.println(add(2,3,5));
}
publicstaticintadd(intx,int...args){
intsum=x;
for(inti=0;i<args.length;i++){
sum+=args[i];
}
returnsum;
}
}
❹ java 可變參數為什麼要放在參數列表的最後
如果把可變參數改數放在中間或者前面的話,如果與可變參數相鄰的參數和他的類型相同,計算機就無法准確分析那個是固定枯慶參數,哪些是可變沒殲握參數,計算過程中肯定會出現問題,所以可變參數都是放在最後面的
❺ 關於Java可變參數問題
你好,很高興回答你的問題。
這就是java可變參數的傳參方式,可以直接傳一個符合參數數據類型的數組,也可以是用逗號分割的多個符合參數數據類型變數。
如果有幫助到你,請點擊採納。
❻ java中可變參數int nums[] = {1,2,3,4};為什麼這樣寫是不對的,幫忙解釋下謝謝!
int nums[] = {1,2,3,4};的寫法是對。
首先你要明白「定義」本來就是一個籠統的概念,它可以是1.只聲明;2聲明並分配內存;3聲明,分配內存並初始化。
java中定義數據就那麼幾種方法:
一:只聲明一個數組,聲明一個數組不分配內存,所以[ ]中不需要有數字
type arrayName[];或者type[] arrayName;
二:聲明並分配內存,這時[ ]中必須有數字以顯示數組長度
arrayName=new type[arraySize];或者type arrayName=new type[arraySize];
三:聲明,分配內存並初始化,這時必須為數組顯式初始化(也就是填寫數組元素)
例如:int nums[] = {1,2,3,4};
PS:在(二:聲明並分配內存)中,其實系統會默認初始化,int數組默認數組元素都是0,String數組默認數組元素都是空格,布爾數組默認數組元素都是false等等。
比如:int arrayName[4];其實等同於int arrayName[]={0,0,0,0};
至於int nums[ ] 和int[ ] nums本質是沒什麼區別的,盡量寫成後者樣式比較合理。
這么說應該很好理解吧!o(╯□╰)o
❼ Java 我在學反射的時候,遇到可變長度參數列表,具體的成員方法就是
首先,可變長度參數列表就是一個數組。
觀察Method
類的方法Object invoke(Object obj, Object... args);
可以發現 參數obj是要執行的對象,args是方法的參數。
method.invoke(example, parameters)的意思是執行對象example的指定方法,這個方法接收參數為數組parameters中的元素。
方法myMethod只有一個參數:字元串數組。如果method.invoke(example, new String[] { "卧槽,", "牛逼! ", "你麻痹真強" }),系統會哪陵以為你要執行myMethod(String str1,String str2,String str3)。但是Example類沒有這個方法,所以會報錯。如果invoke(example, new Object[] {new String[] {"卧槽,"睜耐,"牛逼! ","你真強"}}),就是告訴系統,你要找的是myMethod(String[] strs),由於可變參數等價於數組,於是找到了了Example類李早戚中的myMethod(String... strings)。
❽ ...的Java中可變參數的符號
在編寫一個方法時,其參數隨著程序運行的條件而變化,在編譯期間無法確定。具體地講,例如編寫一個列印參加聚會party的程序,其中方法printInvitation()將根據作為參數的參加人姓名,列印邀請卡。但這個參數的數量事先並不確定。當然可以編寫許多重載的方法來解決這個問題,如:
void printInvitation(String name);
void printInvitation(String name1, Stringname2);
void printInvitation(String name1, Stringname2, String name3);
問題是編寫多少個重載的方法才可以解決給所有參加者列印邀請卡?也許需要改變您的程序設計,而使用數組或者鏈接表了。
應用可變參數可以方便、靈活地解決這類問題。例如:
void printInvitation(String...names) {
for (String name : names) {
makeCard(name); //調用方法按照姓名列印邀請卡
System.out.println(Recording info: invitation card has been printed for + name);
}
}
這里,(String...names)便是可變參數。它包括從0到任意個相同類型的參數。在編譯期間,這個可變參數將被轉換為字元串數組形式,即:void printInvitation(String names).
如下是調用這個方法的例子:
printInvitation(李剛, David Smith);
printInvitation(Greg Wu, Paul Nguyen, Liu Wei, 張新);
printInvitation(); //無參數
當在無參數情況下調用這個方法時,將不執行任何這個方法中的代碼。
如下是運行結果:
Recording info: invitation card has been printed for 李剛
Recording info: invitation card has been printed for David Smith
Recording info: invitation card has been printed for Greg Wu
Recording info: invitation card has been printed for Paul Nguyen
Recording info: invitation card has been printed for Liu Wei
Recording info: invitation card has been printed for 張新
❾ java 可變長度參數列表怎麼用
你可以把不定長參數列表當做數組來使用。如例子中就是一個int型數組,名字為numbers
❿ java 可變參數是什麼
java 可變參數是1.5版本的新特性,也就是說用戶若是想定義一個方法,但是在此之前並不知道以後要做游族用的時候想傳幾個參數進去,可以在方法的參數列表中寫參數類型或者數組名,然後在方法內磨敏部直接用操作數組的方式操作。
java可變長的形參聲明格式:dataType...parameters。純弊
其中,省略號表示數據類型為dataType的parameters參數個數不固定的,可為任意個。此外,在方法調用時,變長形式參數可被替換成1個、2個或多個參數。在編譯時,方法的變長參數將被看成具有相同類型的一維數組。
在java語言開發中,從JDK1.5以後,java允許定義形參長度可變的參數從而允許為方法指定數量不確定的形參。