Java---形参个数可变的方法
1>從JDK 1.5以后,Java允許定義形參個(gè)數(shù)可變的參數(shù),從而允許為方法指定數(shù)量不確定的形參。
定義形參個(gè)數(shù)可變的方法:
2>定義參數(shù)個(gè)數(shù)可變的方法:在方法最后一個(gè)形參的類型后面增加三個(gè)點(diǎn)(...),則表明該形參可以接受多個(gè)參數(shù)值,多個(gè)參數(shù)值被當(dāng)成數(shù)組傳入。
3>測試:
package com.varpara.demo;public class VarParameterDemo {/**形參個(gè)數(shù)可變的方法*從jdk 1.5以后,java允許形參個(gè)數(shù)可變的參數(shù),從而為方法指定數(shù)量不確定的形參。 */public static void testVar(int n,String... books){for(String book: books){System.out.println(book);}System.out.println(n);}public static void testArray(int n,String[] books){for(String book: books){System.out.println(book);}System.out.println(n);}public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println("-------------形參個(gè)數(shù)可變的方法--------------");String [] books={"C++","JAVA","C#"};//調(diào)用形參個(gè)數(shù)可變的方法testVar(3, "C++","JAVA","C#");System.out.println("--------------");//調(diào)用形參個(gè)數(shù)可變的方法時(shí),可以為個(gè)數(shù)可變的參數(shù)傳入一個(gè)數(shù)組testVar(3, books);System.out.println("-------------形參為數(shù)組的方法--------------");testArray(3, books);}}運(yùn)行結(jié)果:
-------------形參個(gè)數(shù)可變的方法-------------- C++ JAVA C# 3 -------------- C++ JAVA C# 3 -------------形參為數(shù)組的方法-------------- C++ JAVA C# 3形參個(gè)數(shù)可變的參數(shù)本質(zhì)就是一個(gè)數(shù)組參數(shù),也就是說public static void testVar(int n,String... books)與public static void testVar(int n,String[] books)方法簽名的效果完全一樣。
區(qū)別是調(diào)用這兩個(gè)方法時(shí)存在差別,對于形參個(gè)數(shù)可變的方法,調(diào)用方法時(shí)更加簡潔,如下所示:
//調(diào)用形參個(gè)數(shù)可變的方法testVar(3, "C++","JAVA","C#");
傳入books的實(shí)參值無須是一個(gè)數(shù)組,但是如果采用數(shù)組形參來聲明方法,調(diào)用時(shí)則必須傳給該形參一個(gè)數(shù)組,如下所示:
對比這兩個(gè)方法,明顯第一種方式更加簡潔。
最后,數(shù)組形式的形參可以處于形參列表的任意位置,但是個(gè)數(shù)可變的形參只能處于形參列表的最后位置。也就是說一個(gè)方法中最多只能有一個(gè)個(gè)數(shù)可變的形參。
總結(jié)
以上是生活随笔為你收集整理的Java---形参个数可变的方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 设计模式---单例模式(多线程下的单例模
- 下一篇: Java---多态