zoukankan      html  css  js  c++  java
  • java:可变参数(转载)

    http://12477787.blog.51cto.com/12467787/1887843

    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

  • 相关阅读:
    GitLab CI/CD的官译【原】
    Gearman介绍、原理分析、实践改进
    Golang逃逸分析
    Go 程序是怎样跑起来的
    分布式系统的常见玩法
    开发更高可用、高质量的服务的一些建议
    理解 Kubernetes 的亲和性调度
    服务发现对比:Zookeeper vs etcd vs Consul
    探索etcd,Zookeeper和Consul一致键值数据存储的性能
    CentOS 7 安装无线驱动
  • 原文地址:https://www.cnblogs.com/mrxiaohe/p/6393509.html
Copyright © 2011-2022 走看看