Как я могу сравнить два значения без использования IF. Я знаю, что можно использовать = ? или что-то вроде этого. Например, давайте сравним размер двух массивов c и t. Для этого я хотел бы использовать код, подобный следующему:
= ?
c
t
boolean answ = ? c.size() = t.size();
Попробуйте boolean answ = c.size() == t.size();
boolean answ = c.size() == t.size();
Тернарный оператор ? используется для получения одного из двух ответов - он не нужен, если вам нужен только один логический ответ.
?
Если вам нужно использовать?Вы должны написать:
boolean answ = ( c.size() == t.size() ? true : false );
, но это намного дольше, чем писать
boolean answ = ( c.size() == t.size() );
Этот код будет сравниваться без использования if:
if
boolean answ s= (c.size()==t.size()) ? true : false;
Это должно работать:
Что вы можете помнить, это короткая конструкция if else:
return c.size() == t.size() ? true : false;
Это называется троичным или условным оператором:
http://en.wikipedia.org/wiki/Ternary_operation
Вы имеете в виду троичный оператор?
result = expr1 ? expr2 : expr3;
Если expr1 имеет значение true, тогда result присваивается результат expr2, в противном случае результат expr3.Итак:
expr1
result
expr2
expr3
boolean answ = c.size() == t.size() ? true : false;
Для сравнения значений вы обычно используете ==, а не =, если только вы не сравниваете не примитивные значения (тогда вам придется использовать метод equals, если вы соответствующим образом переопределите его в классе).
==
=
equals
Один = используется для воздействия, а не для проверки равенства.