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