对jdk5.0中可变长参数的理解
有时候,我们传入到方法的参数的个数是不固定的,为了解决这个问题,我们一般采用下面的方法:
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中可变长参数的理解相关推荐
- Java中可变长参数的使用及注意事项
在Java5 中提供了变长参数(varargs),也就是在方法定义中可以使用个数不确定的参数,对于同一方法可以使用不同个数的参数调用,例如print("hello");print( ...
- Python中函数的参数传递与可变长参数
1.Python中也有像C++一样的默认缺省函数 1 def foo(text,num=0): 2 print text,num 3 4 foo("asd") #asd 0 5 f ...
- python函数中可变参数的传递方式是_Python中函数的参数传递与可变长参数
1.Python中也有像C++一样的默认缺省函数 1 def foo(text,num=0):2 printtext,num3 4 foo("asd") #asd 0 5 foo( ...
- [转载] 【python】Python中*args和**kwargs的区别(在Python中如何使用可变长参数列表)
参考链接: Python中的*args 和 **kwargs 博客已经搬家到"捕获完成": https://www.v2python.com 或者可以叫做,在Python中如何使用 ...
- python中可变长度参数_Python的可变长参数
一.*args和**kwargs的概念 1.可以接收所有的实参,就是万能参数,也叫可变长参数,比如: *args,**kwargs 2.*的使用定义 函数定义时: *代表聚合 合数调用时: *代表打散 ...
- python中可选参数和可变参数_Python函数中的可变长参数详解
一.Python函数中的参数 1.使用python的函数时,有参数类别,比如位置参数.关键字参数.可变长参数 2.位置参数.关键字参数很好理解,关键是可变长参数经常能见到,但是一直没有搞懂是什么意思 ...
- 集合类(collection、List、Set、Map、HashMap、TreeMap、、Properties、泛型类、可变长参数、增强for循环、Collections、数组与链表)
集合类 0.集合类概述 1.Collection 概念 (1)Collection接口的API (2)Iterator接口(collection集合的遍历) 案例:collection集合存储学生对象 ...
- python教程:可变长参数(*args、**kwargs)、返回值(return)
一.可变长参数 1.默认参数: 代码如下: def information_register(name, age, country, sex):print("---注册信息---" ...
- 可变参数表 C语言 多态,C语言可变长参数实现“多态”.pdf
您所在位置:网站首页 > 海量文档  > 计算机 > C/C++资料 C语言可变长参数实现"多态" ...
最新文章
- 分析若干没面试机会和没体现实力的简历
- [Scheduled Timer]第三回:事件存储(EventStorage)
- java localhosty_GitHub - yxxxd/sorryJava: 给动图加字幕的sorry项目的java版本
- Problems you may meet
- 不会英语能学oracle吗,英语非常差该怎么学啊?
- PyTorch-训练
- 《图雅的婚事》:图雅为什么带着丈夫改嫁?
- mysql 查看autocommit_手把手教你分析Mysql死锁问题
- map/reduce之间的shuffle,partition,combiner过程的详解
- 莫兰迪配色RGB对照表
- WebApp列表:15个个性化礼物定制服务
- 【IoT】创业:产品雷达图 - 如何明智地权衡产品?
- foxmail客户端设置网易邮箱--提示邮箱地址或密码错误
- 虚拟中的多态与现实中多态
- 扇贝一面----Android面经
- excel表格打印每页都有表头_表头如何自动编号?日常工作中的表格打印常见问题解答...
- 安装 配置 Nginx
- Hard Disk Sentinel Pro v5.70.8 硬盘哨兵 电脑硬盘检测工具
- 万众期待的AMD 7nm来了!将给数据中心带来“恐怖”性能,令人侧目!
- excel取消密码_Excel的各种加密技巧,让你的数据更安全
热门文章
- 玩转STM32(17)理解SystemInit函数
- Object.assign的用法
- 基于51的数码管电子时钟(显示时、分、秒)——定时器
- bacula 备份mysql_企业级的开源备份工具Bacula之安装
- python 微积分 函数_用Python学微积分(2)---复合函数
- linux每天生成一个日志文件,使Apache每天产生一个日志文件
- Java实现漏斗限流算法
- typora免费版(老版本)
- 排序算法分析(一)-java实现
- 上网宝显示未连接网络连接服务器,华为随行wifi上网宝上不了网,怎么处理?