Java中的可變參數

Java在1.5之後允許方法使用可變參數,可變參數的好處在於:它允許傳遞0個或者多個參數。比如原來有一段代碼下載如下: 

Java代碼  收藏代碼

  1. public class Test {    

  2.     public static void main(String[] args) {    

  3.         test();    

  4.         test(new String[]{"a"});    

  5.         test(new String[]{"a""b"});    

  6.     }    

  7.     

  8.     private static void test() {    

  9.         System.out.println(“[]”);    

  10.     }    

  11.     

  12.     private static void test(String[] args) {    

  13.         System.out.println(Arrays.toString(args));    

  14.     }    

  15. }    


使用可變參數之後的代碼下載如下: 

Java代碼  收藏代碼

  1. public class Test {    

  2.     public static void main(String[] args) {    

  3.         test();    

  4.         test(new String[]{"a"});    

  5.         test(new String[]{"a""b"});    

  6.     }    

  7.     

  8.     private static void test(String... args) {    

  9.         System.out.println(Arrays.toString(args));    

  10.     }    

  11. }    


可見,可變參數的功能更加強大,語意包含的範圍更廣。 
我們知道,在Java中,除了8種基本類型之外一切都是類。那麼可變參數到底是個什麼類呢?來,用代碼下載驗證下! 

Java代碼  收藏代碼

  1. public class Test {    

  2.     public static void main(String[] args) {    

  3.         whatClass();    

  4.         whatClass1();    

  5.     }    

  6.     

  7.     private static void whatClass(String... args) {    

  8.         System.out.println(args.getClass());    

  9.         System.out.println(new String[]{}.getClass());    

  10.     }    

  11.     

  12.     private static void whatClass1(int... args) {    

  13.         System.out.println(args.getClass());    

  14.         System.out.println(new int[]{}.getClass());    

  15.     }    

  16. }    


上面代碼的運行結果是: 
class [Ljava.lang.String;  
class [Ljava.lang.String;  
class [I  
class [I 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章