有时候,我们传入到方法的参数的个数是不固定的,为了解决这个问题,我们一般采用下面的方法:

1.  重载,多重载几个方法,尽可能的满足参数的个数。显然这不是什么好办法。

2.  将参数作为一个数组传入。虽然这样我们只需一个方法即可,但是,为了传递这个数组,我们需要先声明一个数组,然后将参数一个一个加到数组中。

现在,我们可以使用可变长参数解决这个问题。

声明可变长参数方式如下:

public void mymethod(String arg1,Object… args)

也就是使用…将参数声明成可变长参数。

显然,可变长参数必须是最后一个参数。

请看下面唐僧师傅给悟空讲佛经的例子:

package com.kuaff.jdk5;

public class Varargs1

{

public void speak(String name,Object... arguments)

{

for(Object object : arguments)

{

System.out.println(object);

}

}

public static void main(String[] args)

{

Varargs1 va = new Varargs1();

va.speak("悟空","人和妖精都是妈生的,");

va.speak("悟空","不同的人是人他妈生的,","妖是妖他妈生的,");

}

}

其中speak中的参数被声明成可变长的参数,所以你可以传递给speak方法多个参数。

对jdk5.0中可变长参数的理解相关推荐

  1. Java中可变长参数的使用及注意事项

    在Java5 中提供了变长参数(varargs),也就是在方法定义中可以使用个数不确定的参数,对于同一方法可以使用不同个数的参数调用,例如print("hello");print( ...

  2. Python中函数的参数传递与可变长参数

    1.Python中也有像C++一样的默认缺省函数 1 def foo(text,num=0): 2 print text,num 3 4 foo("asd") #asd 0 5 f ...

  3. python函数中可变参数的传递方式是_Python中函数的参数传递与可变长参数

    1.Python中也有像C++一样的默认缺省函数 1 def foo(text,num=0):2 printtext,num3 4 foo("asd") #asd 0 5 foo( ...

  4. [转载] 【python】Python中*args和**kwargs的区别(在Python中如何使用可变长参数列表)

    参考链接: Python中的*args 和 **kwargs 博客已经搬家到"捕获完成": https://www.v2python.com 或者可以叫做,在Python中如何使用 ...

  5. python中可变长度参数_Python的可变长参数

    一.*args和**kwargs的概念 1.可以接收所有的实参,就是万能参数,也叫可变长参数,比如: *args,**kwargs 2.*的使用定义 函数定义时: *代表聚合 合数调用时: *代表打散 ...

  6. python中可选参数和可变参数_Python函数中的可变长参数详解

    一.Python函数中的参数 1.使用python的函数时,有参数类别,比如位置参数.关键字参数.可变长参数 2.位置参数.关键字参数很好理解,关键是可变长参数经常能见到,但是一直没有搞懂是什么意思 ...

  7. 集合类(collection、List、Set、Map、HashMap、TreeMap、、Properties、泛型类、可变长参数、增强for循环、Collections、数组与链表)

    集合类 0.集合类概述 1.Collection 概念 (1)Collection接口的API (2)Iterator接口(collection集合的遍历) 案例:collection集合存储学生对象 ...

  8. python教程:可变长参数(*args、**kwargs)、返回值(return)

    一.可变长参数 1.默认参数: 代码如下: def information_register(name, age, country, sex):print("---注册信息---" ...

  9. 可变参数表 C语言 多态,C语言可变长参数实现“多态”.pdf

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbspC/C++资料 C语言可变长参数实现"多态" ...

最新文章

  1. 分析若干没面试机会和没体现实力的简历
  2. [Scheduled Timer]第三回:事件存储(EventStorage)
  3. java localhosty_GitHub - yxxxd/sorryJava: 给动图加字幕的sorry项目的java版本
  4. Problems you may meet
  5. 不会英语能学oracle吗,英语非常差该怎么学啊?
  6. PyTorch-训练
  7. 《图雅的婚事》:图雅为什么带着丈夫改嫁?
  8. mysql 查看autocommit_手把手教你分析Mysql死锁问题
  9. map/reduce之间的shuffle,partition,combiner过程的详解
  10. 莫兰迪配色RGB对照表
  11. WebApp列表:15个个性化礼物定制服务
  12. 【IoT】创业:产品雷达图 - 如何明智地权衡产品?
  13. foxmail客户端设置网易邮箱--提示邮箱地址或密码错误
  14. 虚拟中的多态与现实中多态
  15. 扇贝一面----Android面经
  16. excel表格打印每页都有表头_表头如何自动编号?日常工作中的表格打印常见问题解答...
  17. 安装 配置 Nginx
  18. Hard Disk Sentinel Pro v5.70.8 硬盘哨兵 电脑硬盘检测工具
  19. 万众期待的AMD 7nm来了!将给数据中心带来“恐怖”性能,令人侧目!
  20. excel取消密码_Excel的各种加密技巧,让你的数据更安全

热门文章

  1. 玩转STM32(17)理解SystemInit函数
  2. Object.assign的用法
  3. 基于51的数码管电子时钟(显示时、分、秒)——定时器
  4. bacula 备份mysql_企业级的开源备份工具Bacula之安装
  5. python 微积分 函数_用Python学微积分(2)---复合函数
  6. linux每天生成一个日志文件,使Apache每天产生一个日志文件
  7. Java实现漏斗限流算法
  8. typora免费版(老版本)
  9. 排序算法分析(一)-java实现
  10. 上网宝显示未连接网络连接服务器,华为随行wifi上网宝上不了网,怎么处理?