2012-04-08 33 views
-4

私は三項演算子について..!

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

あなたは三項演算子ごとに上記のコードを変換する際に私を助けていただけません...私のプログラムの状態を持っています..!要求されたよう

+7

あなたが示されたコードは、さらに条件がthat..publicブールissRewardsEnabled(){ \t \t文字列値= posParameterSupport.getStringParamValue( \t \t \t \t IParameterConstants.REWARDS_ENABLED、 "偽")のようなものである三オペレータ – MByD

答えて

0

次のソリューションは、三項演算子を利用する。

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

を必要としません。 \t \t boolean enabled = Boolean.parseBoolean(value); \t \t return(有効); \t} ..このことを私に助言してください!! – Neera

3

ここ三項演算子を使用する理由はありません。あなたの値はすでにブール値なので、実際にはreturn RewardsSupport.isRewardsEnabled();と言うべきです。

11

何がポイントですか?あなたが返すように望んでいた場合は

boolean allow = RewardsSupport.isRewardsEnabled(); 

:なぜ、ちょうどこの持っていない:

return RewardsSupport.isRewardsEnabled() 

はまた、それがareRewardsEnabled()

+0

...そして、次に、メソッドのポイントは何ですか?たぶんどこにいてもチェックをインライン化する(または、それが読みやすさを向上させるならば、ローカルに保存する)。 – tvanfosson

+1

...いくつかのWebアプリケーションフレームワークはisRewardsEnabledを特に見ていて、誰も混乱させるものではありません。つまりJSFビューはフックアップです –

+0

フレームワークのほとんどは、 'is'プレフィックスを期待しています。複数のラクダのケースを持ち、「is」から「are」に変わる方法を認識することができれば涼しいかもしれませんが、解決したら開発産業に革命を起こす重要な問題ではありません。もう1つの例は、JacksonのJSONシリアライザとDataNucleusのJDOです。彼らは両方とも接頭辞 'is 'を期待します。 – jmort253

2

と呼ばれるべきであるとあなたはブールを必要とする何かのための三項演算子を必要としませんたとえば、整数の場合、次のような三項条件演算子でそれを実行できます。

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

条件は次のとおりです。public boolean issRewardsEnabled(){String value = posParameterSupport.getStringParamValue(IParameterConstants.REWARDS_ENABLED、 "false"); boolean enabled =ブール値.parseBoolean(値)。 return(有効); } .. ..このことを私に助言してください.. !! – Neera

+0

@Neera答えの2番目の部分に続く 'if'条件をテンプレートとして修正することができます:' true'の式は '?'と ':'の間にあり、 'false'の式は': ' 。 – dasblinkenlight