Java8里提供了一种三个点的语法,意思是无论传入的同类参数无论是一个还是多个,都让编译器给编到数组里传到函数里,这样做相对于数组参数或是链表参数有省却打包的优势,实际上其内部实现是让编译器干了这活。
简单例程:
public class Test9 { private static void test(int... arr) { for(int i:arr) { System.out.print(i+","); } System.out.println(); } public static void main(String[] args) { test(1,2,3); test(4,5,6,7); test(8,9,0); } }
输出:
1,2,3, 4,5,6,7, 8,9,0,
从上面例子来看传参方便些了。
稍复杂例程:
// 定义 private ConditionSgmt fillConditionSgmt(int... keys) throws SqlSyntaxException{ .... } // 调用 connbySgmt=fillConditionSgmt(Token.TYPE_KW_CONNECTBY); condiSgmt=fillConditionSgmt(Token.TYPE_KW_WHERE,Token.TYPE_KW_ON);
很明显这比定义链表/数组参数,然后调用时新建链表/数组再塞值再调用简洁多了
--END--
参考资料:https://blog.csdn.net/liufeng063x/article/details/83496143