Обратите внимание, что это не будет работать с примитивными типами данных, только с типами объектов.
Следующая, немного более сложная версия работает как с объектными, так и с примитивными массивами. Она делает это, используя T вместо T[] в качестве типа аргумента.
Это также позволяет объединять массивы двух разных типов, выбирая наиболее общий тип в качестве типа компонента результата.
publicstatic <T> T concatenate(T a, T b) { if (!a.getClass().isArray() || !b.getClass().isArray()) { thrownewIllegalArgumentException(); }
Можно написать полностью универсальную версию, которую можно даже расширить для объединения любого количества массивов. Для этих версий требуется Java 6, поскольку они используют Arrays.copyOf()
Обе версии избегают создания каких-либо промежуточных List объектов и используют System.arraycopy() для обеспечения максимально быстрого копирования больших массивов.