Почему не работает метод со Stream?

Не пойму, почему не работает anyMatch? Когда вводится лист с операторами, которых нет в списке operators, noneMatch отрабатывает корректно. Но когда один из операторов присутствует, anyMatch почему-то не отрабатывает. И на экран выводится результат из noneMatch. Что я делаю не так? Как исправить метод?

static void isOperCorrect(ArrayList<Character> operList) {
        ArrayList<Character> operators = new ArrayList<>(Arrays.asList('+', '-', '*', '/'));

        for (int i = 0; i < 2; i++) {
            boolean noneMatch = operList.stream().noneMatch(c -> c.equals(operators));
            boolean anyMatch = operList.stream().anyMatch(c -> c.equals(operators));

            if (noneMatch) {
                System.out.println("оператора нет в листе");
            } else if(anyMatch) {
                System.out.println("есть какой-то из операторов");
            }
        }
    }

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

Автор решения: nPaBllla

Можете сделать так, то есть пройтись по каждому элементу operList и проверить есть он в operators или нет

operList.forEach(c -> {
        if (operators.contains(c)) {
            System.out.println("something");
        } else {
            System.out.println("something other");
        }
});

Или же использовать noneMatch, anyMatch

boolean noneMatch = operList.stream().noneMatch(operators::contains);
boolean anyMatch = operList.stream().anyMatch(operators::contains);
→ Ссылка