gpt4 book ai didi

java - 扩展数组以传递给可变参数

转载 作者:行者123 更新时间:2023-11-29 05:25:06 25 4
gpt4 key购买 nike

给定这个函数签名:

public static void test(final String... args) {}

我想将一个字符串和一个字符串数组放入args:

test("a", new String[]{"b", "c"});

但这是不可能的,因为第二个参数没有展开。

那么是否可以扩展数组以适应可变参数?

如果这不可能,给定一个字符串和一个字符串数组,构造串联字符串数组的最短方法是什么?例如:

String a = "a";
String[] b = new String[]{"b", "c"};
String[] c = // To get: "a", "b", "c"

谢谢。

最佳答案

您可以使用 Guava's ObjectArrays.concat(T, T[])方法:

String a = "a";
String[] b = new String[]{"b", "c"};
String[] c = ObjectArrays.concat(a, b);

注意参数的顺序。使用 (b, a) 调用也可以,但这会将元素附加到数组而不是前置(这似乎是您想要的)。这在内部使用 System.arraycopy()方法。

关于java - 扩展数组以传递给可变参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22985279/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com