欢迎访问宙启技术站
智能推送

在Java中使用可变参数的函数方法

发布时间:2023-06-22 21:06:14

可变参数是指函数方法接收任意数量、任意类型的参数,在Java中使用可变参数的函数方法可以简化代码编写,提高代码的可读性和可维护性。

在Java中使用可变参数的函数方法,需要使用特殊符号“…”表示可变参数。下面是使用可变参数的函数方法的一些示例。

1. 基本类型可变参数

public static int sum(int... nums) {
    int total = 0;
    for (int num : nums) {
        total += num;
    }
    return total;
}

public static void main(String[] args) {
    int result1 = sum(1, 2, 3, 4, 5);
    int result2 = sum(1, 2, 3);
    System.out.println("result1 = " + result1);  // 输出 15
    System.out.println("result2 = " + result2);  // 输出 6
}

上述代码中,sum方法接收任意数量、任意类型的int参数,在方法体内部使用for循环对参数进行求和。

2. 引用类型可变参数

public static String join(String delimiter, String... strs) {
    StringBuilder sb = new StringBuilder();
    for (String str : strs) {
        sb.append(str).append(delimiter);
    }
    return sb.toString().substring(0, sb.length() - delimiter.length());
}

public static void main(String[] args) {
    String result1 = join(",", "a", "b", "c", "d");
    String result2 = join("|", "foo", "bar", "baz");
    System.out.println("result1 = " + result1);  // 输出 "a,b,c,d"
    System.out.println("result2 = " + result2);  // 输出 "foo|bar|baz"
}

上述代码中,join方法接收任意数量、任意类型的String参数,在方法体内部使用StringBuilder对参数进行拼接,并且需要注意使用substring方法去掉最后一个分隔符。

3. 可变参数与固定参数结合

public static void print(String name, int... nums) {
    System.out.print(name + "的成绩为:");
    for (int num : nums) {
        System.out.print(num + " ");
    }
    System.out.println();
}

public static void main(String[] args) {
    print("张三", 80, 88, 90);
    print("李四", 78, 95);
}

上述代码中,print方法接收一个String类型的name参数和任意数量、任意类型的int参数。在方法体内部,先输出name和“的成绩为:”,然后对int参数进行输出。

总之,在Java中使用可变参数的函数方法可以帮助我们简化代码编写,提高代码的可读性和可维护性。但是需要注意可变参数的使用场景,不要滥用可变参数。