java中不定长参数的实例用法

java中不定长参数的使用方法

不定长参数方法的语法如下:

返回值 方法名(参数类型...参数名称)

在参数列表中使用“...”形式定义不定长参数,其实这个不定长参数a就是一个数组,编译器会将(int...a)这种形式看作是(int[] a)的形式。

示例:编写一个不定长参数方法。

/**

 * 定义不定长参数方法

 * 

 * @author pan_junbiao

 *

 */

public class MyTest

{

  public static int add(int... a)

  {

    int s = 0;

    for (int i = 0; i < a.length; i++)

    {

      s += a[i];

    }

    return s;

  }

  public static void main(String[] args)

  {

    // 调用不定长参数方法

    System.out.println("调用不定长参数方法:" + add(1, 2, 3, 4, 5, 6, 7, 8, 9));

    System.out.println("调用不定长参数方法:" + add(1, 2));

  }

}

运行结果:

调用不定长参数方法:45

调用不定长参数方法:3

知识点扩展:

可变长参数的使用规则

在调用方法的时候,如果能够和固定参数的方法匹配,也能够与可变长参数的方法匹配,则选择固定参数的方法。看下面代码的输出:

package com;

// 这里使用了静态导入
import static java.lang.System.out;

public class VarArgsTest {

  public void print(String... args) {
    for (int i = 0; i < args.length; i++) {
      out.println(args[i]);
    }
  }

  public void print(String test) {
    out.println("----------");
  }

  public static void main(String[] args) {
    VarArgsTest test = new VarArgsTest();
    test.print("hello");
    test.print("hello", "alexia");
  }
}

以上就是本次介绍的全部相关知识点内容,如果大家有任何补充可以联系我们的小编。

时间: 2020-02-01

关于java中可变长参数的定义及使用方法详解

JAVA中可以为方法定义可变长参数( Varargs)来匹配不确定数量的多个参数,其定义用"..."表示.其实,这类似于为方法传了一个数组,且在使用方法上也和数组相同,如下: public void test(String... str){ for(String s : str){ } } 调用方法就像普通的调用方式相同,只不过可以匹配的参数为0到多个.如下: test(); test("lilei"); test("lilei","h

Kotlin传递可变长参数给Java可变参数实例代码

本文研究的主要是Kotlin传递可变长参数给Java可变参数的方法,具体实现代码如下. 定义Java可变参数方法 package com.tcl.john.studymvvm.utils; /** * 调用Java方法的工具类 * Created by ZhangJun on 2017/10/25. */ public class CallJavaUtils { public static int addNumbers(String name, int... args) { int result

解析Java的可变长参数列表及其使用时的注意点

Java 可变参数列表 复制代码 代码如下: class A {} 由于所有的类都继承于Object,可以以Object数组为参数的方法: public class parameter { static void printArray(Object[] args){ for(Object obj : args){ System.out.print(obj + " "); } System.out.println(); } public static void main(String[]

Python中函数的参数传递与可变长参数介绍

1.Python中也有像C++一样的默认缺省函数 复制代码 代码如下: def foo(text,num=0):     print text,num foo("asd")  #asd 0 foo("def",100)  #def 100 定义有默认参数的函数时,这些默认值参数 位置必须都在非默认值参数后面. 调用时提供默认值参数值时,使用提供的值,否则使用默认值. 2.Python可以根据参数名传参数 复制代码 代码如下: def foo(ip,port):   

php可变长参数处理函数详解

本文实例讲述了php可变长参数处理函数.分享给大家供大家参考,具体如下: 与C++一样,PHP中也可以对含有可变参数的函数进行处理,道理都一样,需要函数来专门处理参数列表.PHP中提供了三个相关的函数: 1. func_num_args()  -- 返回传递给函数的参数个数 int func_num_args ( void ) 示例: function open_database($DB, $cache_size_or_values=null, $cache_size=null) { switc

javascript 利用arguments实现可变长参数

javascript arguments解释,实现可变长参数. 在C#中,有可变长参数params[],但是在js中,如何实现这种可变参数呢? 一.可变长参数 arguments是非常好的解决方法,一直不知道javascript有这个东西. 先来看看应用场景,使用arguments传入任意个数的参数到js函数里的写法. function Test() { console.log(arguments[0]); console.log(arguments[1]); console.log(argum

Python函数中的可变长参数详解

一.Python函数中的参数 1.使用python的函数时,有参数类别,比如位置参数.关键字参数.可变长参数 2.位置参数.关键字参数很好理解,关键是可变长参数经常能见到,但是一直没有搞懂是什么意思 二.可变长参数 1.一个星号:函数可以接收任意个数的参数,只需要在形参前面加一个*(星号),一个星号形参的函数会把多个位置参数值当成元祖的形式传入,也就是传入的多个参数值可以在函数内部进行元祖遍历 def length_param(a, *args): print("a=", a) pri

Scala可变参数列表,命名参数和参数缺省详解

重复参数 Scala在定义函数时允许指定最后一个参数可以重复(变长参数),从而允许函数调用者使用变长参数列表来调用该函数,Scala中使用"*"来指明该参数为重复参数.例如: scala> def echo (args: String *) = | for (arg <- args) println(arg) echo: (args: String*)Unit scala> echo() scala> echo ("One") One sca

Lua学习笔记之函数、变长参数、closure(闭包)、select等

1. Lua函数支持多返回值,但并不是每次调用函数返回的全部值都会被使用. 有一条规则是只有当函数调用是表达式最后一个元素时,才会使用它的全部返回值.看代码: 复制代码 代码如下: --string.find函数返回两个值,:被查找子串的开始索引和结束索引  s,e = string.find("Lua program language","Lua")  print(s,e)  --> 1    3    --如果找不到,则输出nil和nil  s,e = s