java基础---->java中变参函数的使用

  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。
}

友情链接

原文地址:https://www.cnblogs.com/huhx/p/baseusejavavaliableparam.html