isEmpty
Una comprobación de vacío basada en el valor: true para null, '' y colecciones vacías.
Lección
Esto no es lo mismo que Iterable.isEmpty,
el getter que ya tienes gratis en cualquier List, Set
o cadena Fx. Ese getter solo existe en los iterables, y revienta
(o sencillamente no está disponible) con null. El isEmpty
de FxTS acepta cualquier valor y responde a una pregunta más amplia:
¿esto es «nada» en un sentido práctico? Devuelve true para
null, un String vacío y un
Iterable/Map/Set vacío — y
false para todo lo demás, incluidos números y booleanos,
que nunca se consideran «vacíos».
Como recibe un único argumento Object?, se pasa directamente
como tear-off a filter, reject o cualquier otro
hueco con forma de predicado, sin necesidad de una lambda envolvente.
Demo 1 · Fundamentos
Demo 2 · Como tear-off listo para filtrar
Una mezcla variada de valores, reducida a los que isEmpty considera vacíos
(la cadena vacía impresa aparece como nada entre las comas):
Pruébalo tú
Ejercicio: usa isEmpty para imprimir 'no comment' cuando comment esté vacío, o el propio comentario.
compact — descarta los nulls de un iterable ·
compactObject — descarta los nulls de un Map ·
predicates — más comprobaciones de tipo listas para filtrar ·
includes — la comprobación de pertenencia vecina