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

    友情链接

  • 相关阅读:
    CF833B The Bakery (线段树+DP)
    NOIP 2017 时间复杂度 (模拟)
    NOI 2018 屠龙勇士 (拓展中国剩余定理excrt+拓展欧几里得exgcd)
    中国剩余定理(excrt) 模板
    后缀自动机 模板
    luogu P4248 [AHOI2013]差异
    luogu P3975 [TJOI2015]弦论
    luogu P4770 [NOI2018]你的名字
    luogu P3726 [AH2017/HNOI2017]抛硬币
    luogu P3722 [AH2017/HNOI2017]影魔
  • 原文地址:https://www.cnblogs.com/huhx/p/baseusejavavaliableparam.html
Copyright © 2020-2023  润新知