Tenho um longo conjunto de comparações para fazer em Java e gostaria de saber se uma ou mais delas são verdadeiras. A sequência de comparações era longa e difícil de ler, então eu a separei para facilitar a leitura e automaticamente passei a usar um operador de atalho em |=
vez de negativeValue = negativeValue || boolean
.
boolean negativeValue = false;
negativeValue |= (defaultStock < 0);
negativeValue |= (defaultWholesale < 0);
negativeValue |= (defaultRetail < 0);
negativeValue |= (defaultDelivery < 0);
Espero negativeValue
que seja verdade se algum dos valores padrão de <algo> for negativo. Isso é válido? Vai fazer o que eu espero? Eu não pude ver isso mencionado no site da Sun ou stackoverflow, mas o Eclipse não parece ter problemas com isso e o código compila e executa.
Da mesma forma, se eu quisesse realizar várias interseções lógicas, poderia usar em &=
vez de &&
?