generic array creation

private Sort[] merge(Sort[] arr_1, Sort[] arr_2) {
    int len_1 = arr_1.length, len_2 = arr_2.length;
    int a = 0, b = 0, len = len_1 + len_2;
    Sort[] result = new Sort[len]; // ошибка generic array creation
    for (int i = 0; i < len; i++) {
        if (b < len_2 && a < len_1) {
            if (arr_1[a].compareTo(arr_2[b]) > 0) result[i] = arr_2[b++];
            else result[i] = arr_1[a++];
        } else if (b < len_2) {
            result[i] = arr_2[b++];
        } else {
            result[i] = arr_1[a++];
        }
    }
    return result;
}

Как мне правильно создать обобщенный массив?


Ответы (1 шт):

Автор решения: Дмитрий

Можно создать массив так:

Array.newInstance(Sort.class, len);
→ Ссылка