Мені особисто подобається ексклюзивний або , ^
оператор, коли це має сенс у контексті булевих перевірок через його стислість. Я дуже вважаю за краще писати
if (boolean1 ^ boolean2)
{
//do it
}
ніж
if((boolean1 && !boolean2) || (boolean2 && !boolean1))
{
//do it
}
але я часто плутаю погляди інших досвідчених розробників Java (не лише новачків), а іноді зауважую, як це слід використовувати лише для розрядних операцій.
Мені цікаво про кращі практики щодо використання ^
оператора.
bool1 ^ bool2 ^ bool3
bool1 != bool2 != bool3