Java传入参数个数不确定可用(Type ... values)
- /**
- * 可变长的参数。
- * 有时候,我们传入到方法的参数的个数是不固定的,为了解决这个问题,我们一般采用下面的方法:
- * 1. 重载,多重载几个方法,尽可能的满足参数的个数。显然这不是什么好办法。
- * 2. 将参数作为一个数组传入。虽然这样我们只需一个方法即可,但是,
- * 为了传递这个数组,我们需要先声明一个数组,然后将参数一个一个加到数组中。
- * 现在,我们可以使用可变长参数解决这个问题,
- * 也就是使用...将参数声明成可变长参数。显然,可变长参数必须是最后一个参数。
- */
- public class VarArgs {
- /**
- * 打印消息,消息数量可以任意多
- * @param debug 是否debug模式
- * @param msgs 待打印的消息
- */
- public static void printMsg(boolean debug, String ... msgs){
- if (debug){
- // 打印消息的长度
- System.out.println("DEBUG: 待打印消息的个数为" + msgs.length);
- }
- for (String s : msgs){
- System.out.println(s);
- }
- if (debug){
- // 打印消息的长度
- System.out.println("DEBUG: 打印消息结束");
- }
- }
- /**
- * 重载printMsg方法,将第一个参数类型该为int
- * @param debugMode 是否debug模式
- * @param msgs 待打印的消息
- */
- public static void printMsg(int debugMode, String ... msgs){
- if (debugMode != 0){
- // 打印消息的长度
- System.out.println("DEBUG: 待打印消息的个数为" + msgs.length);
- }
- for (String s : msgs){
- System.out.println(s);
- }
- if (debugMode != 0){
- // 打印消息的长度
- System.out.println("DEBUG: 打印消息结束");
- }
- }
- public static void main(String[] args) {
- // 调用printMsg(boolean debug, String ... msgs)方法
- VarArgs.printMsg(true);
- VarArgs.printMsg(false, "第一条消息", "这是第二条");
- VarArgs.printMsg(true, "第一条", "第二条", "这是第三条");
- // 调用printMsg(int debugMode, String ... msgs)方法
- VarArgs.printMsg(1, "The first message", "The second message");
- }
- }
Java传入参数个数不确定可用(Type ... values)的更多相关文章
- 方法的可变长参数 传入参数个数不确定可用(Type ... values)
/** * 可变长的参数. * 有时候,我们传入到方法的参数的个数是不固定的,为了解决这个问题,我们一般采用下面的方法: * 1. 重载,多重载几个方法,尽可能的满足参数的个数.显然这不是什么好办法. ...
- 动态sql语句和动态传入参数个数
1.可以将要传入的几个参数封装成一个实体类,然后将实体类作为一个参数传入到相应的方法中,这时候就需要这sqlMapper.xml文件中对传入的字段利用<if test=""& ...
- delphi7调用webservice Java 传入参数为空
在delphi7中,new-webservices-wsdl importer中输入wsdl地址,会自动生成wsdl单元代码.在调用时,传入参数到服务器端时为空了. 网上说缺少 InvRegistry ...
- js函数定义参数个数和实际传入参数的对比
因为js是一种弱类型的编程语言,对数据类型的要求没有其他编程语言的要求严格,所以在定义函数的时候不需要像java和C#一样对其传入参数的类型进行定义.那么传入参数的个数有没有影响呢?今天小猪就做了个实 ...
- Java 参数个数可变的函数
示例: package my_package; public class Test { public static void main(String[] args) { out("重庆师范大 ...
- Java调用Python相关问题:指定python环境、传入参数、返回结果
本篇文章涉及到的操作均在Windows系统下进行,Java调用python在原理上不难,但是可能在实际应用中会有各种各样的需求,网上其他的资料很不全,所以又总结了这篇文章,以供参考. 一.指定pyth ...
- JS中用apply、bind实现为函数或者类传入动态个数的参数
为纪念10年没写blog,第一篇博文就以这样一个有趣的窍门开始吧 -___- 在ES5中,当我们调用一个函数时,如果要传入的参数是根据其他函数或条件判断生成的,也就是说不确定会传入多少个参数时,在不改 ...
- js调用函数时传入的参数个数与函数定义时的参数个数不符时的操作
在js中函数没有重载的概念,如果声明了多个重名的函数,不管函数的形参个数是否一样,只有最有一个有效,其他的函数声明都是无效的.比如说声明了两个函数fn(),第一次声明时没有形参,第二次声明时形参有两个 ...
- java中方法传入参数时:值传递还是址传递?
JAVA中的数据类型有两大类型: ① 基本数据类型:逻辑型(boolean).文本型(char).整数型(byte.short.int.long).浮点型(float.double) ② 引用数据类型 ...
随机推荐
- hadoop2.2.0伪分布式搭建
1.准备Linux环境 1.0点击VMware快捷方式,右键打开文件所在位置 -> 双击vmnetcfg.exe -> VMnet1 host-only ->修改subnet ...
- Android开发面试题(一)
1.String和StringBuffer有什么本质区别? 本质区别:String字符串不可变,每次修改字符串必须要重新赋值(生成新的对象)才能修改:StringBuffer字符串可变,可以直接对字符 ...
- [转]Android在eclipse中的快捷键
1.选中你要加注释的区域,用ctrl+shift+C 会加上//注释2.先把你要注释的东西选中,用shit+ctrl+/ 会加上/* */注释3.要修改在eclispe中的命令的快捷键方式我们只 ...
- Java IO流详尽解析
流的概念和作用 学习Java IO,不得不提到的就是JavaIO流. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...
- dedecms 分页样式
<div class="dede_pages"> <ul class="pagelist"> {dede:pagelist lis ...
- php session偶尔写入失败的原因
session_start(); var_dump($_SESSION); $key = sprintf('%05d', mt_rand(0, 99999)); $key = strval($key) ...
- URL锚点HTML定位技术机制
一.锚点是什么 锚点就等同于火影中的“飞雷神之术”,我们先看百科中锚点的解释: 使用命名锚记可以在文档中设置标记,这些标记通常放在文档的特定主题处或顶部.然后可以创建到这些命名锚记的链接,这些链接可快 ...
- IEEE802是一个局域网标准系列
视频教程 http://v.youku.com/v_show/id_XNjgyODA0NzE2.html?from=s1.8-1-1.2 干线 总线+环形网的传递机制 环形令牌总线 802.4
- owin 中间件 katana 如何解密cookie
.NET MVC5 默认的用户登录组件是AspNet.Identity ,支持owin,并且微软自己实现的一套owin 中间件叫 katana 补充一下 katana项目源码地址:https://ka ...
- 指向const的指针和const指针
1.指向const的指针:const int *p 或 int const *p 解释:p是一个指针,指向const int类型的常量:指针指向的内容为常量,因此不能改变*p的值,但指针p可以改变,指 ...