0

As far as I know, variable arguments form their own array type with the received arguments, is there a limit to the use of expressions that initialize the array? Or is there a memory that I don't know or other side effects?

import java.util.StringJoiner;

public class VarArgsEx {
    public static void main(String[] args) {
        String[] strArr = { "100", "200", "300" };
        System.out.println(concatenate("", "100", "200", "300"));
        System.out.println(concatenate("-", strArr));
        System.out.println(concatenate(",", new String[]{"1", "2", "3"}));
        System.out.println("["+concatenate(",", new String[0]) + "]");
        System.out.println("["+concatenate(",")+"]");

        System.out.println(concatenate("+", {"100", "200", "300"}));
    }

    static String concatenate(String delim, String... args) {
        StringJoiner sj = new StringJoiner(delim);

        for (String arg: args)
            sj.add(arg);
        return sj.toString();
    }
}
Dawn Shin
  • 23
  • 3

0 Answers0