Intentando aplicar múltiples filtros según la condición, el pseudocódigo es:
if TypeA exception
then throw TypeA Exception
if TypeB
then throw TypeB Exception
else TypeC Exception.
No sé cómo hacerlo usando filtros basados en la condición:
List<InvalidArgumentException> invalidEx = e.getInvalidException();
return invalidEx.stream()
.filter (ic -> {
if(ic.getInvalidExcepType().equals(ExceptionType.TypeA)) {
return (RuntimeException) new TypeAException(e);
} else if (ic.getInvalidExcepType().equals(ExceptionType.TypeB))
return (RuntimeException) new TypeBException(e);
}).orElse (new TypeCException(e));
En lugar de usar filter
, que solo devuelve todos los elementos Stream
que coinciden con el predicado dado, debe usar map
:
return invalidEx.stream()
.map(ic -> {
if(ic.getInvalidExcepType().equals(ExceptionType.TypeA)) {
return (RuntimeException) new TypeAException(e);
} else if (ic.getInvalidExcepType().equals(ExceptionType.TypeB)) {
return (RuntimeException) new TypeBException(e);
} else {
return new TypeCException(e);
}
}).collect(Collectors.toList());
(O alguna otra operación de terminal)
Estoy intentando acceder a la página / manager de la instancia de Tomcat instalada por NetBeans 7.1.2. Cuando hago clic derecho en el nodo del árbol correspondiente para propiedades, obtengo esto: lo que parece sugerir que podría ...
Estoy tratando de eliminar objetos que están fuera del JPanel. Sin embargo, cuando hago eso me sale este error y mi programa se bloquea. Mi profesor me dijo que es porque dos hilos están accediendo a ...
Estoy cargando una imagen de botón que tiene formato png. Pero el formato es demasiado grande. ¿Cómo puedo cambiar el tamaño del ancho y alto de ese rango definido, pero evito usar el tamaño de la imagen? Antes: público ...
Tengo problemas para comprender el comportamiento de este código. a se define como una A, c se define como una C. Luego, al final de la clase pública, a = c. Cuando un llama al método display (), alcanza ...