저는 Java에서 수행 할 비교 작업이 길고, 그 중 하나 이상이 true인지를 알고 싶습니다. 비교 문자열은 길고 읽기가 어려웠으므로 가독성을 위해 깨졌으며 negativeValue = negativeValue || boolean
이 아닌 바로 가기 연산자 |=
을 자동으로 사용했습니다. Java의 바로 가기 "또는 - 할당"연산자 (| =)
boolean negativeValue = false;
negativeValue |= (defaultStock < 0);
negativeValue |= (defaultWholesale < 0);
negativeValue |= (defaultRetail < 0);
negativeValue |= (defaultDelivery < 0);
나는 기본 < 일 중 하나가 > 값이 부의 경우
negativeValue
사실이 될 것으로 기대합니다. 이게 유효합니까? 그것이 내가 기대하는 것을 할 것인가? Sun의 사이트 또는 stackoverflow에서 언급 한 내용을 볼 수 없었지만 Eclipse에 문제가없는 것으로 보이며 코드가 컴파일되어 실행됩니다. 나는 몇 가지 논리적 교차점을 수행하기를 원한다면
마찬가지로, 나는 &=
대신 &&
사용할 수 있을까?
당신은 그것을 왜 시도하지 않습니까? – Roman
이것은 Java가 아닌 일반적인 부울 논리입니다. 그래서 당신은 다른 장소에서 그것을 볼 수 있습니다. 그리고 왜 그냥 해보지 않으시겠습니까? – Dykam
@Dyam : 아니요, 여기에는 구체적인 행동이 있습니다. Java *는 단락 회로를 선택하여 LHS가 이미 참인 경우 RHS를 평가하지 않을 수 있지만 그렇지 않습니다. –