У меня есть длинный набор сравнений, который можно сделать на Java, и я хотел бы знать, если один или несколько из них выдаются как истинные. Строка сравнений была длинной и трудной для чтения, поэтому я разбил ее на читаемость и автоматически пошел использовать оператор быстрого доступа |=
, а не negativeValue = negativeValue || boolean
.
boolean negativeValue = false;
negativeValue |= (defaultStock < 0);
negativeValue |= (defaultWholesale < 0);
negativeValue |= (defaultRetail < 0);
negativeValue |= (defaultDelivery < 0);
Я ожидаю, что negativeValue
будет истинным, если любое из значений по умолчанию <something> значения отрицательные. Действительно ли это? Будет ли это делать то, что я ожидаю? Я не мог видеть, что это упоминалось на Sun-сайте или stackoverflow, но Eclipse, похоже, не имеет с ним проблем, и код компилируется и запускается.
Аналогично, если бы я хотел выполнить несколько логических пересечений, могу ли я использовать &=
вместо &&
?