Java 的可变函数另类使用
Java 的可变函数的使用,以前局限于传人零散的参数,当然参数是不会局限数量的,这是可变参数函数的便捷性。如:
传人可变参数,结果:15
JavaTest 类定义了一个可变参数函数 Add,参数是可变的,数量不限,现 Add(1, 2, 3, 4, 5) 传人 5 个整数,运算结果如期是 15。
看了可变函数的实现源码,发现最终 Java 会把这些可变参数,当成 一个数组来处理,最近无意间,想把 数组直接传人可变参数函数里,竟然运行出期望的结果了,代码如下:
传人数组参数,结果:15
原来可变参数函数也能这么用!!!
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
原来可变参数函数也能这么用!!!
哇~~~ 竟然还没有评论!