algo como
Predicate<Deal> isDeal() {
return deal -> deal.getGroup() == null
&& EnumSet.of(Instrument.ENUM1,
Instrument.ENUM2,
Instrument.ENUM3)
.contains(deal.getInstrument())
||
"DEAL".equals(deal.getGroup())
&& !EnumSet.of(Instrument.ENUM2,
Instrument.ENUM3)
.contains(deal.getInstrument())
}
Algo como esto
public static Predicate<Deal> isDeal() {
return i->
(i.getGroup() == null
&& (i.getInstrument() == ENUM1
|| i.getInstrument() == ENUM2
|| i.getInstrument() == ENUM3)
)
||
( i.getGroup() != null
&& i.getGroup() == "DEAL"
&& i.getInstrument() != ENUM2 && i.getInstrument() != ENUM3);
}
PD: Tenga en cuenta que debe comparar la cadena con equals
not ==
.
No conozco su dominio comercial, pero intenté hacer que la condición sea más expresiva, legible y fácil de mantener. También le preguntaría al cliente por qué lo quieren con lambdas porque no veo ninguna razón para usarlos aquí. Una if-else
declaración le daría lo mismo sin los gastos generales.
public Predicate<Deal> isDeal() {
return isGroupAbsent().or(isGroupPresent());
}
private Predicate<Deal> isGroupPresent() {
Instrument i = i.getInstrument();
return d -> "DEAL".equals(d.getGroup()) && i != ENUM2 && i != ENUM3;
}
private Predicate<Deal> isGroupAbsent() {
Instrument i = i.getInstrument();
return d -> d.getGroup() == null && (i == ENUM1 || i == ENUM2 || i == ENUM3);
}
Estoy tratando de convertir apache.spark.ml.linalg.Vector a ArrayList en Java. El código fuente es así: Vector vector = (Vector) row.get (1); ArrayList <String> vectorList = new ArrayList <...
He visto respuestas aquí que pueden usar variables de const estáticas finales en Java para evitar que se compilen secciones de código. Mi preocupación con ese enfoque es que soy olvidadizo. :-( Soy ...
Mi fecha y hora está actualmente almacenada como marca de tiempo UNIX. Quiero mostrarlo como h: mm a en mi Recyclerview. ¿Dónde debo convertir la marca de tiempo UNIX a la hora normal en el adaptador RecyclerView / ...
La biblioteca Java en la que estoy trabajando actualmente se puede configurar con un archivo .properties en el classpath. Ahora quiero escribir pruebas JUnit que hagan lo siguiente: Si el archivo existe, afirme que el ...