Home > Java > javaTutorial > How Can I Pass an Array as Arguments to a Java Method with Variable Arguments?

How Can I Pass an Array as Arguments to a Java Method with Variable Arguments?

DDD
Release: 2024-12-08 14:25:10
Original
524 people have browsed it

How Can I Pass an Array as Arguments to a Java Method with Variable Arguments?

Passing an Array as Arguments to a Method with Variable Arguments in Java

Problem

The goal is to create a Java method that takes an array of arguments and passes each individual argument to a method with variable arguments. However, the problem arises when the method signature declares an Object[] instead of separate arguments, leading to the array being treated as a single argument.

Solution

Yes, it is possible to pass an array as arguments to a method with variable arguments in Java. This is made possible by the syntactic sugar of T... which is equivalent to T[].

Code Example

The following example illustrates how to achieve this:

public static String ezFormat(Object... args) {
    String format = new String(new char[args.length])
        .replace("", "[ %s ]");
    return String.format(format, args);
}
public static void main(String... args) {
    System.out.println(ezFormat("A", "B", "C"));
    // prints "[ A ][ B ][ C ]"
}
Copy after login

Varargs Gotchas

Passing Null

Be aware that passing null to a varargs parameter may result in unexpected behavior. To avoid errors, you can pass null as an array or as a single argument.

Adding Extra Arguments

When passing an array to a varargs parameter and adding extra arguments, it is necessary to create a new array that accommodates both the extra argument and the original array elements.

Passing Array of Primitives

Varargs only works with reference types. To pass an array of primitives, convert them to their corresponding wrapper classes (e.g., int[] to Integer[]).

The above is the detailed content of How Can I Pass an Array as Arguments to a Java Method with Variable Arguments?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template