Java变长参数

2021-09-12  本文已影响0人  程序员小白成长记

一看到“fun(String ... strs)”就感觉写法很🐂,所以今天自己尝试一下,发现是一个很简单但确很实用的语法。所以凡事要亲身实践。

Java的可变长参数本质上就是一个动态创建的数组,把参数名当做一个数组处理即可

可变长

eg:
strs就相当于一个字符串数组,可当做字符串数组去处理

public String fun(String ... strs){
  ... ...
}
/**
 * @author cxxb
 */
public class CanVarialeParam {
    public static void main(String[] args) {
        CanVarialeParam canVarialeParam = new CanVarialeParam();
        int sum = canVarialeParam.sum(1, 2, 3, 4);
        System.out.println(sum);
        String str1 = canVarialeParam.appendStr("Hello", ",", "world!");
        System.out.println(str1);


    }

    public int sum(int... arr) {
        int len = arr.length;
        int sum = 0;
        for (int i = 0; i < arr.length; i++) {
            sum += arr[i];
        }
        return sum;
    }

    public String appendStr(String... strings) {
        int len = strings.length;
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < len; i++) {
            sb.append(strings[i]);
        }
        return sb.toString();
    }
}

个别定长 + 可变长

一个方法只能有一个可变长参数,并且这个可变长参数必须是该方法的最后一个参数

public class CanVariableArray {

    public static void main(String[] args) {
        test(1, 2, 3);
    }

    public static void test(int arg1, int... arg2) {
        // 1
        System.out.println(arg1);
        System.out.println("length:" + arg2.length);
        // 2 3
        for (int i = 0; i < arg2.length; i++) {
            System.out.print(arg2[i] + " ");
        }
    }
}

参考

【1】Java中可变长参数的使用及注意事项

上一篇 下一篇

猜你喜欢

热点阅读