java动态参数列表即可变参数【可变的参数类型,也称为不定参数类型。英文缩写是varargus,还原一下就是variable argument type。】
来源:互联网 发布:网络终端是什么 编辑:程序博客网 时间:2024/04/29 09:00
文章来源:http://gzcj.iteye.com/blog/548430
常见情况下,我们通过限制输入参数的个数和类型、返回数据类型和抛出的异常来定义方法签名来与方法的调用者实现契约。使用动态参数特性,我们可以部分的克服该限制,使得签名变得动态化。你可能会说动态签名并不新鲜。如下两点你已经使用过多次来避免添加或删除方法签名中参数对客户端调用的影响。
- 使用数组或集合作为输入参数
- 使用对象将输入参数的属性进行封装
现在Java语言自身提供了动态参数特性以支持变量输入参数。当然它不是在任何场景下都非常的自然,但是可以被用到很多情况下。
Java编程人员常常需要为方法定义一个包含多个值的参数。这时可以采用List或数组的形式,如下例所示。
/** * 可变参数列表 * @param type 0表示加,1表示减 * @param number * @return */public static int add(int type,Object ... number){int sum=0;if(type==0){for(Object obj : number){if(obj instanceof Integer){//整数类型sum+=Integer.parseInt(obj.toString());}else if(obj instanceof String){//字符串类型System.out.println("字符串参数:"+obj);}}}else if(type==1){for(Object obj : number){if(obj instanceof Integer){//整数类型System.out.println(obj.toString());sum=Integer.parseInt(obj.toString())-sum;}else if(obj instanceof String){//字符串类型System.out.println("字符串参数:"+obj);}}}else{throw new RuntimeException("请选择正确的计算类型,0表示加,1表示减");}return sum;}
public static void main(String[] args) {System.out.println(add(0,2,3));System.out.println(add(1,2,3,4,"90"));}运行结果:4-(3-2)
234字符串参数:903
0 0
- java动态参数列表即可变参数【可变的参数类型,也称为不定参数类型。英文缩写是varargus,还原一下就是variable argument type。】
- Java可变长参数varargus
- Java可变参数varargus的使用
- 可变参数(variable-argument)
- stdarg(3) variable argument lists 可变参数列表
- JAVA之可变参数类型
- Java 可变参数(类型... 形参名)
- Java不定类型,不定个数参数方法的写法
- Java方法的可变参数类型
- Java方法的可变参数类型
- Java方法的可变参数类型
- Java方法的可变参数类型
- Java方法的可变参数类型
- Java方法的可变参数类型
- Java方法的可变参数类型
- Java方法的可变参数类型
- Java方法的可变参数类型
- Java方法的可变参数类型
- C语言一些以前不知道的特性
- sql 中的比较长用和复杂的SQL
- 数据结构之用顺序表实现二叉树
- 迷宫算法,找出一条路径(不一定最短)
- php-fpm 超时问题解决
- java动态参数列表即可变参数【可变的参数类型,也称为不定参数类型。英文缩写是varargus,还原一下就是variable argument type。】
- CUDA核函数及运行时参数
- 第一次模拟面试 感觉棒棒哒
- C语言如何连接mysql数据库
- Xcode7正式版 出现”-fembed-bitcode”错误
- HDU5493 Queue(线段树)
- TCP/IP 网络基础
- IOS杂项合集
- valgrind