ArrayUtils не может быть разрешен - PullRequest
0 голосов
/ 18 июня 2020

Я пытаюсь использовать ArrayUtils для удаления элемента из массива, но я продолжаю получать сообщение об ошибке:

ArrayUtils cannot be resolvedJava(570425394)

Вот как выглядит метод:

public void removeCard(int index) {
        ArrayUtils.remove(this.cardPaths, index);
    }

I попытался импортировать org. apache .commons.lang3.ArrayUtils, но это дает мне ошибку:

The type org.apache.commons.lang3.ArrayUtils is not accessibleJava(16778666)

Добавление зависимости в файл pom. xml также ничего не разрешило

Я использую Java 14.0.1, Apache Maven 3.5.2 и код Visual Studio

1 Ответ

1 голос
/ 18 июня 2020

Обратите внимание, что ваш код ничего не делает.

Метод remove возвращает новый массив - remove не имеет побочных эффектов; если вы проигнорируете то, что он возвращает, он ничего не сделает, кроме как тратит ресурсы процессора и памяти. Предположительно, вы хотите:

this.cardPaths = ArrayUtils.remove(this.cardPaths, index);

кроме того, массивы как концепция являются запутанными (они плохо переносятся, они не могут увеличиваться или уменьшаться). Если вам нужна концепция, подобная массиву, которая позволяет добавлять и удалять вещи, java уже имеет это, это называется ArrayList. Тогда вам не нужно в первую очередь lang3:

import java.util.List;
import java.util.ArrayList;

public class Deck {
    private List<Card> cards = new ArrayList<Card>();

    public void removeCard(int idx) {
        return cards.remove(idx);
    }
}
...