• 可变参数列表与自动转型


    可变参数列表是JavaSE5以后所添加的一个重要特性,它使得程序员可以用更少的代码书写出优雅的方法访问方式。

    可变参数列表将大量的工作交给了编译器完成,包括参数数组的封包,自动转型等任务。

    在可变参数列表功能出现以前,函数的调用格式,必须与函数的声明格式完全对应一致。即对应位置的参数,必须满足类型要求。

    Example:

    static double addAll(Ball[]  ballArray )

    {

      double totalDiameter=0;

      foreach(ball b:ballArray )

         {

        totalDiameter=b.diameter+totalDiameter;

          }

    }

    mian()

    {

      Ball[] ba={new ball(1), new ball(2), new ball(3)}

      addAll(ba);

    }

    以上为传统的函数访问方式,此方式下必须严格的保证调用形式与声明的形式一致。

    可变参数类表给予了一种更为灵活的方式,使得我们在函数调用时。

    数组类参数无需给出数组对象,只需给出数组中的参数列表即可。

    e:

    addAll(new ball(1), new ball(2), new ball(3));

    此处,程序员给出的参数列表会被编译器自动的打包为一个数组,传递给addAll函数进行处理。

    有些时候,可能不仅需要数组参数,还需要别的参数,可以采用以下的声明和调用方式。

    Static void test(Integer i, Character... args){}

    Static  void test(Character... args){}

    调用时:

    test(1,'a');

    test('a','b');

    此处编译器会自动的根据函数的参数列表进行调用。

    需要注意的是参数"1"为int类型(基本类型),而Integer为int的包装器类,编译器会自动的对其进行转型。

  • 相关阅读:
    pytest-pyppeteer:在pytest中运行pyppeteer
    ovs学习
    PHP面试(A-01)
    win10桌面美化和使用_壁纸网站
    Typora配置双击图片放大功能
    如何在没有微软商店的情况下在Windows 10上安装应用程序
    springboot多数据源使用EntityManager
    elementui toolTip踩坑记录
    前端算法手动实现数字排序
    linux FTP Connection refused
  • 原文地址:https://www.cnblogs.com/airwindow/p/2553242.html
Copyright © 2020-2023  润新知