Estoy tratando de usar la transmisión con mi código a continuación. Mi problema es mi valor de retorno. Este fragmento de código devuelve un Opcional, no un booleano:
ogps.stream().filter(elt -> (elt.getLineNumbers() != null && !vg.getLineNumbers().isEmpty())).findFirst();¿Puedes por favor guiarme? gracias
//The original code public static boolean isOrderOk(List<OrderGroup> ogps) { if (ogps == null || ogps.isEmpty()) { return true; } for (OrderGroup elt : ogps) { if (elt.getLineNumbers() != null && !vg.getLineNumbers().isEmpty()) { return false; } } return true; } //The new code with stream usage public static boolean isOrderOk(List<OrderGroup> ogps) { if (ogps == null || ogps.isEmpty()) { return true; } return ogps.stream() .filter(elt -> (elt.getLineNumbers() != null && !vg.getLineNumbers().isEmpty())) .findFirst(); return true; }Probablemente estés buscando algo como:
public static boolean isOrderOk(List<OrderGroup> ogps) { if (ogps == null || ogps.isEmpty()) { return true; } return ! ogps.stream() .anyMatch(elt -> (elt.getLineNumbers() != null && !vg.getLineNumbers().isEmpty())); }