Corrige el error: filtrar arreglos vacíos
Estoy intentando quitar los arreglos vacíos de un arreglo. En otras palabras, quiero transformar algo como new Object[]{"a", "b", new Object[0], new Object[0], new Object[]{1, 2, 3}} en new Object[]{"a", "b", new Object[]{1, 2, 3}}. Mi código es el siguiente:
public static Object[] removeEmptyArrays(Object[] items) {
return java.util.Arrays.stream(items).filter(item -> item != new Object[0]).toArray();
}Sin embargo, por alguna razón, los arreglos vacíos siguen ahí. Corrige el código para eliminarlos.
Ejemplos
// Lo que quiero obtener:
Program.removeEmptyArrays(new Object[]{"a", "b", new Object[0]}) ➞ new Object[]{"a", "b"}
Program.removeEmptyArrays(new Object[]{1, 2, new Object[0], 4}) ➞ new Object[]{1, 2, 4}
// Lo que estoy obteniendo:
Program.removeEmptyArrays(new Object[]{"a", "b", new Object[0]}) ➞ new Object[]{"a", "b", new Object[0]}
Program.removeEmptyArrays(new Object[]{1, 2, new Object[0], 4}) ➞ new Object[]{1, 2, new Object[0], 4}Notas
N/A