Java的变参函数实现实际上参数是一个数组,今天我们就简单的学习一下它的用法。
java中的变参函数
一、它的使用方法如下:
public class VariableParam { private static void variableParam1(Object... args) { for (Object v : args) { System.out.print(v.toString() + " "); } System.out.println(args.length); // 可以看到args和数组一样有length属性 } @Test public void param_1() { // 如果是List<String> List<String> lists1 = new ArrayList<>(); lists1.add("huhx"); lists1.add("linux"); variableParam1(lists1); // [huhx, linux] 1 // 如果是List<Object> List<Object> lists2 = new ArrayList<>(); lists2.add("huhx"); lists2.add("linux"); variableParam1(lists2); // [huhx, linux] 1 // 如果是数组 String[] arrays1 = new String[]{"huhx", "linux"}; // huhx linux 2 variableParam1(arrays1); // 如果是数组 Object[] arrays2 = new Object[]{"huhx", "linux"}; variableParam1(arrays1); // huhx linux 2 // 如果是参数 variableParam1("huhx", "linux"); // huhx linux 2 } }
二、一个简单的使用案例
MessageFormat的format方法的第二个参数就是一个变参。它的方法定义:
public static String format(String pattern, Object ... arguments) { MessageFormat temp = new MessageFormat(pattern); return temp.format(arguments); }
以下是一个使用的案例。
public String baseReplaceFromArray(String string, List<String> list) { return MessageFormat.format(string, transListInfoArrays(list)); } public static String[] transListInfoArrays(List<String> list) { String[] arrays = new String[list.size()]; list.toArray(arrays); return arrays; } @Test public void baseReplaceFromArray_test() { List<String> list = new ArrayList<>(); list.add("huhx"); list.add("L。"); System.out.println(baseReplaceFromArray("{0} love {1}", list)); // huhx love L。 }