Варианты объединения двух массивов в Java

В любом языке с долгой историей появляется то-ли фича то ли бага делать одну, вроде бы простую вещь можно несколькими способами. Возьмем тривиальную задачу: объединить два массива одного типа в один в java. И тут оказывается есть три способа как это сделать с разной степенью абстракции и со своими плюсами и минусами. Рассмотрим их.

Первый и самый короткий — это использовать старую добрую библиотечку Apache Commons Lang. И метод public static T[] addAll(T[] array1,T… array2).
Пример использования:

Но этот путь чреват зависимостями. После опыта разработки на android устройства я аккуратно стал относиться к зависимостям и стараюсь не использовать целую библиотеку ради одной функции. Но java очень мощный язык и мы можем написать свою функцию (метод) для объединения двух массивов в один в независимости от типа данных:

Следует обратить внимание, что массивы могут быть только с элементами, тип которых — потомок от типа Object. Впрочем, зачастую так и бывает. Можно расслабиться.
Если же все-таки случилось страшное, или же мы используем старый JDK, без поддержки произвольной типизации функций, то всегда можно переписать без дженериков: