Java创建可变长度参数函数有两种办法,一种是传一个对象数组类型,另一个是使用Varargs机制(“…”)。
代码:
public class Test { public static void main(String[] args) { System.out.println(judgeCache("hahha", -1L)); System.out.println(judgeCache("heihei", 1)); System.out.println(judgeCache("hiahia")); } public static boolean judgeCache(Object conditionParams, Object ...objects) { if (objects.length == 1) { if (objects[0] instanceof Long) { if (objects[0].equals(-1L)) { return true; } }else { if (objects[0].equals(0)) { return true; } } } return false; } public static boolean judgeCache(String conditionParams, Object ...objects) { if (objects.length == 1) { if (objects[0] instanceof Long) { if (objects[0].equals(-1L)) { return true; } }else { if (objects[0].equals(0)) { return true; } } } return false; } }运行结果:
注意: 1. 带…的参数必须放在参数列表最后一个 2. 编译器会自动判断函数参数选择,如上面的例子,第一个参数String类型更准确,所以会选择匹配第二个函数,如果出现歧义会编译报错。
