java.lang.IndexOutOfBoundsException: Источник не помещается в dest

В следующем коде:

static void findSubsets (ArrayList<Integer> numbers, int amount, int index)
{
    ArrayList <Integer> numbersCopy = new ArrayList<Integer>(numbers.size());
    Collections.copy(numbersCopy, numbers);
}

Я получаю сообщение об ошибке:

Exception in thread "main" java.lang.IndexOutOfBoundsException: Source does not fit in dest
        at java.util.Collections.copy(Collections.java:548)
        at backtracking2.Main.findSubsets(Main.java:61)

Почему?

65
задан Java Devil 16 April 2015 в 22:52
поделиться

1 ответ

В java 8 +

List<Integer> numbersCopy = numbers.stream().collect(Collectors.toList());

Это легче в java 10 +

List<Integer> numbersCopy = List.copyOf(numbers);

Список .copyOf() возвраты unmodifiable Список, содержащий элементы данного Набора.

0
ответ дан 24 November 2019 в 15:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: