2017-03-22 17 views
0

私はJava 8 lambdaの新しい学習者です。 私は、言って、(本当にせっかちためのJava 8)本の中の文を見つけました "ラムダ式は、いくつかの枝ではなく、他の値を返すことは違法である。例えば、(int型x)は、 - > {if(x> = 0)return 1;}は無効です。 "Java 8ラムダ式

誰でもこれを説明できますか?いくつか例を挙げてください。

ありがとうございます。

+6

私はあなたの混乱を理解していません。すでに説明がある例があります。 2つのブランチのうちの1つだけが値を返すので無効です。 –

+3

上記のラムダ式のような標準的な方法を書いても、コードには何らかの定義済みの結果が必要です。あなたの例では、負の入力( 'x')の場合、式は何も返しません。これは許されません。 –

+3

この本はReally patientのためのJava 8のタイトルが変更される必要があります。 Java 8は現在3年間使用されていません;-) –

答えて

3

私はあなたがそれを手に入れていない場所にはいません。これは例えばコンパイルされますか?

static int test(int x) { 
    if(x >= 0) { 
     return 1; 
    } 
} 

ラムダ式も同じです。

関連する問題