¿Cómo devolver un valor booleano predeterminado en secuencias Java si no se encuentra el elemento?

Quiero determinar si una cadena dada coincide, ignorando mayúsculas y minúsculas, uno de los elementos en a List<String>.

Estoy tratando de lograr esto con las transmisiones de Java 8. Aquí está mi intento de usar .orElse(false):

public static boolean listContainsTestWord(List<String> list, String search) {
    if (list != null && search != null) {
        return list.stream().filter(value -> value.equalsIgnoreCase(search))
          .findFirst().orElse(false);
    }
    return false;
}

Pero eso no se compila.

¿Cómo debo codificarlo para devolver si se encuentra una coincidencia o no?

Respuesta 1

Es una frase:

public static boolean listContainsTestWord(List<String> list, String search) {
    return list != null && search != null && list.stream().anyMatch(search::equalsIgnoreCase);
}

Ni siquiera te molestes con un método:

if (list != null && search != null && list.stream().anyMatch("someString"::equalsIgnoreCase))
Respuesta: 2

Uso Stream.anyMatch:

public static boolean listContainsTestWord(List<String> list, String search) {
    if (list != null && search != null) {
        return list.stream().anyMatch(search::equalsIgnoreCase);
    }
    return false;
}
Respuesta: 3

Estoy haciendo una clase en Java que descarga un archivo específico de un servidor. Tengo un método que puede descargar directamente desde un servidor FTP y uno desde un servidor SFTP. Sin suposiciones hechas ...

El siguiente código produce una EOFException. ¿Porqué es eso? información estática pública readInfoDataFromFile (contexto de contexto) {Info InfoData = null; FileInputStream fis = null; ObjectInputStream ...

¿Alguien sabe cómo solucionar este problema? No se puede completar la instalación porque no se pudieron encontrar uno o más elementos necesarios. Software que se está instalando: JBoss Runtime Drools Detector 6.3.0. Final ...

A menudo, en las tareas ANT, verá "**" usado de manera similar a la siguiente: <copy todir = "/ something"> <fileset dir = "/ source"> <exclude name = "** / *. Sql" /> < / fileset> </copy> ...