2012-04-08 4 views
-4

У меня есть условие в моей программе ...Относительно тернарного оператора ..!

boolean allow = false; 
    if RewardsSupport.isRewardsEnabled()) { 
     allow = true;   
    } 
    return (allow); 

Не могли бы вы мне помочь в преобразовании выше код, как в тройном оператора .. !!

+7

Код, который вы показали не требует даже тройной оператор – MByD

ответ

0

Следующее решение использует тройной оператор по запросу:

return RewardsSupport.isRewardsEnabled() ? true : false; 
+0

условие как that..public булевой issRewardsEnabled() { \t \t значение String = posParameterSupport.getStringParamValue ( \t \t \t \t IParameterConstants.REWARDS_ENABLED, "ложь"); \t \t boolean enabled = Boolean.parseBoolean (значение); \t \t возвращение (включено); \t} .. сообщите пожалуйста для этого .. !! – Neera

3

Там нет причин использовать тройной оператор здесь. Поскольку ваши значения уже имеют значение boolean, вы должны просто сказать return RewardsSupport.isRewardsEnabled();.

11

В чем смысл? Почему не просто так:

return RewardsSupport.isRewardsEnabled() 

Кроме того, следует назвать areRewardsEnabled()

+0

... и, тогда, какова была бы точка метода? Вероятно, просто встройте проверку везде (или сохраните в локальном, если это улучшит читаемость). – tvanfosson

+1

... и некоторые рамки веб-приложений выглядят специально для isRewardsEnabled, а не areRewardsEnabled, которые могут смутить кого-либо - fyi, т. Е. Просмотры JSF-подключений –

+0

Согласен, что большинство фреймворков ожидает префикс 'is'. Хотя было бы здорово, если бы они могли распознавать методы, в которых есть множество случаев верблюда, и переключиться с 'is' на' are', я просто не вижу в этом важной проблемы, которая, когда будет решена, произведет революцию в индустрии развития. Другим примером является JSON Serializer от Jackson и JDO DataNucleus. Оба они будут ожидать префикс 'is'. – jmort253

2

Вам не нужен тройной оператор за то, что включает в себя логическое значение:

boolean allow = RewardsSupport.isRewardsEnabled(); 

Если вы хотели, чтобы вернуться , скажем, целое число, вы можете сделать это с помощью тернарного условного оператора следующим образом:

int reward = RewardsSupport.isRewardsEnabled() ? rewardAmount : 0; 
+0

Условие аналогично этому. Public boolean issRewardsEnabled() {Строковое значение = posParameterSupport.getStringParamValue (IParameterConstants.REWARDS_ENABLED, "false"); boolean enabled = Boolean.parseBoolean (значение); return (включено); } .. пожалуйста сообщите мне для этого .. !! – Neera

+0

@Neera Вы можете изменить свое условие 'if' после второй части моего ответа в качестве шаблона: выражение для' true' идет между '?' И ':', а выражение для 'false' идет после': ' , – dasblinkenlight

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