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) ② 引用数据类型 ...
随机推荐
- js 如何获取文本框中光标索引位置
function getTxt1CursorPosition(){ var oTxt1 = document.getElementById("txt1"); var cursurP ...
- How to change comment
AX2009 // USR Changed on 2013-07-10 at 12:57:46 by 7519 - Begin // USR Changed on 2013-07-10 at 12:5 ...
- Django Form的学习
django.forms 是Django处理form的库 本质上可以直接通过对HttpRequest达到同样的效果,但是django.from带来更便捷的处理方式.功能有几点 通过form类 ...
- 用Tupper自我指涉公式造图
塔珀自指公式是杰夫·塔珀(Jeff Tupper)发现的自指公式:此公式的二维图像与公式本身外观一样.此公式在众多数学与计算机科学课程里被用作绘制公式图像的练习作业. 公式最初于他2001年SIGGR ...
- ERROR 1062 (23000): Duplicate entry '0' for key 'PRIMARY'
OS: centos 6.3DB: 5.5.14 测试创建yoon测试表,没有主键,没有索引,基础数据内容如下: mysql> select * from yoon;+----+-------- ...
- Oracle重建表索引及手工收集统计信息
Oracle重建所有表的索引的sql: SELECT 'alter index ' || INDEX_NAME || ' rebuild online nologging;' FROM USER_IN ...
- ios项目绕过证书访问https程序
如果是单个的webview或者request请求,在请求的文件h中直接实现NSURLConnectionDelegate,并在m中添加下列实现下列两个方法: - (BOOL)connection:(N ...
- 一个Java对象到底占用多大内存
在网上搜到了一篇博客讲的非常好,里面提供的这个类也非常实用: import java.lang.instrument.Instrumentation; import java.lang.reflect ...
- perl 脚本测试
原文地址: http://blog.csdn.net/johnny710vip/article/details/8905239 这是一篇关于perl脚本测试的总结性文章,其中提到了很多实用的 ...
- python学习小结9:面向对象
面向对象技术 类(Class): 用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法.对象是类的实例. 类变量:类变量在整个实例化的对象中是公用的.类变量定义在类中且 ...