Cá nhân tôi thích nhà cung cấp độc quyền hoặc, ^
khi điều này có ý nghĩa trong ngữ cảnh kiểm tra boolean do tính đồng nhất của nó. Tôi rất thích viếtCó thực hành tốt để sử dụng toán tử xor để kiểm tra boolean không?
if (boolean1^boolean2)
{
//do it
}
hơn
if((boolean1 && !boolean2) || (boolean2 && !boolean1))
{
//do it
}
nhưng tôi thường nhận được vẻ bối rối từ các nhà phát triển Java có kinh nghiệm khác (không chỉ là người mới), và đôi khi bình luận về làm thế nào nó chỉ nên được sử dụng cho Bitwise hoạt động.
Tôi rất tò mò về các phương pháp hay nhất liên quan đến việc sử dụng toán tử ^
.
*" Có gì sai với! = "*' Bool1^^ bool2 bool3' làm cho tinh thần hợp lý hơn đối với tôi hơn 'bool1! = Bool2! = Bool3' –
não của tôi đau. Vì vậy, có thể! = cho kết quả không chính xác hay không? – vemv
@vemv, '! =' cho kết quả chính xác cho 'boolean' (nhưng không phải cho 'Boolean' vì vậy hãy cẩn thận). Không phải lúc nào cũng khá, ví dụ '(một số! = null! = (khác! = null) 'không phải là rất dễ đọc.Bạn có thể trích xuất các phần trong boolean rõ ràng, hoặc giải nén'! = 'trong một phương thức riêng biệt. – ivant