修改java的可变参数列表的方法

public class TestArguments {

	public static void main(String[] args) {
		int[] arr = new int[]{1, 2, 3};
		foo("kk", 365, new int[]{1, 2, 3}, "pc", "iphone");
	}
	
	public TestArguments() {
		// TODO Auto-generated constructor stub
	}
	
	private static void foo(String a, int b, Object... args) {
		Object[] ob = new Object[2 + args.length];
		ob[0] = a;
		ob[1] = b;
		for (int i = 0; i < args.length; i++) {
			ob[i + 2] = args[i];
		}
// 		foo2(args, a, b);
		foo2(ob);
	}
	
	private static void foo2(Object... args) {
		for (Object obj : args) {
			System.out.println(obj.toString());
		}
	}
}

java的可变参数列表实际上就是一个数组,项目如果有这样的需求:函数A 调用了函数B, 函数A有一个可变参数列表 作为输入参数,现在我需要在函数A的参数列表的最前面追加几个额外的参数,然后把这个新的参数列表传递给函数B。

你可能感兴趣的:(修改java的可变参数列表的方法)