zoukankan      html  css  js  c++  java
  • 可变参数列表与自动转型

    可变参数列表是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的包装器类,编译器会自动的对其进行转型。

  • 相关阅读:
    调用系统地图进行导航
    ShareSDK使用简介
    FMDB
    关于uitableView的Group模式滑动偏移问题
    iOS GCD详解
    通知中心传值
    开源 iOS 项目分类索引大全
    iOS10隐私设置及相应问题
    支付
    OC中如何把字典中的数据拼接成url字符串
  • 原文地址:https://www.cnblogs.com/airwindow/p/2553242.html
Copyright © 2011-2022 走看看