一尘不染

如何在Java中连接两个数组?

java 连接数组

如何在Java中连接两个数组?


阅读 638

收藏
2020-01-10

共1个答案

一尘不染

使用Apache Commons Lang库

ArrayUtils.addAll(T[], T...)

例如:

String[] both = ArrayUtils.addAll(first, second);

在Java 8中使用Stream:

String[] both = Stream.concat(Arrays.stream(a), Arrays.stream(b))
                      .toArray(String[]::new);

或者像这样,使用flatMap:

String[] both = Stream.of(a, b).flatMap(Stream::of)
                      .toArray(String[]::new);

为此,你必须使用反射:

@SuppressWarnings("unchecked")
T[] both = Stream.concat(Arrays.stream(a), Arrays.stream(b)).toArray(
    size -> (T[]) Array.newInstance(a.getClass().getComponentType(), size));
2020-01-10