古老的榕树

Java 的可变函数另类使用

潘军杰 发表于 2016-03-08 20:38 阅读(3692) 评论(0) 赞(0)
Java 的可变函数的使用,以前局限于传人零散的参数,当然参数是不会局限数量的,这是可变参数函数的便捷性。如:


package com.5_wow.utils;

public class JavaTest {

	public static void main(String[] args) {
		System.out.format("传人可变参数,结果:%d \n", Add(1, 2, 3, 4, 5));
	}

	public static Integer Add(Integer... args) {
		Integer total = 0;
		for (Integer arg : args) {
			total += arg;
		}
		return total;
	}
}
运算结果:
传人可变参数,结果:15 

JavaTest 类定义了一个可变参数函数 Add,参数是可变的,数量不限,现 Add(1, 2, 3, 4, 5) 传人 5 个整数,运算结果如期是 15。


看了可变函数的实现源码,发现最终 Java 会把这些可变参数,当成 一个数组来处理,最近无意间,想把 数组直接传人可变参数函数里,竟然运行出期望的结果了,代码如下:
package com.5_wow.utils;

public class JavaTest {
	public static void main(String[] args) {
		System.out.format("传人可变参数,结果:%d \n", Add(1, 2, 3, 4, 5));
		Integer[] paras = new Integer[] { 1, 2, 3, 4, 5 };
		System.out.format("传人数组参数,结果:%d \n", Add(paras));
	}

	public static Integer Add(Integer... args) {
		Integer total = 0;
		for (Integer arg : args) {
			total += arg;
		}
		return total;
	}
}
运算结果:
传人数组参数,结果:15 

原来可变参数函数也能这么用!!!
0 条网友评论

哇~~~ 竟然还没有评论!

称呼*
邮箱*
内容*
验证码*
验证码 看不清换张