2016-06-28 2 views
-2

В чем разница междузаказа в случае-п

if(true == getBooleanValue()) 

и

if(getBooleanValue() == true) 

где getBooleanValue() возвращает истину или ложь?

+2

оба эквивалентны, и оба они являются ненужными, вы просто должны писать 'if (getBooleanValue())' –

+0

Также см. Здесь: https://en.wikipedia.org/wiki/Yoda_conditions, но обратите внимание, что тонкие различия между java и C++ в отношении таких выражений. – GhostCat

+1

Что, по вашему мнению, проще или понятнее? –

ответ

2

Там нет функциональной разницы, но вы должны использовать:

if (getBooleanValue()) 
1

а) if(true==getBooleanValue()) такие же, как if(getBooleanValue())
б)if(getBooleanValue() == true) будет первой оценкой getBooleanValue(), а затем проверить, если это равный true
В этом случае это может не повлиять, но в более сложных условиях оно может быть. Например if(a==b && getBooleanValue()) Здесь getBooleanValue() не будет выполняться, если a==b - false.

Смежные вопросы