私はhttp://cr.openjdk.java.net/~briangoetz/lambda/lambda-state-4.htmlを読んでおり、すべての例が明示的に宣言された引数型を持っていることに気付きました。ただし、それはすでにinterface-function宣言から知られています。Java 8ラムダ構文で引数型を指定する必要がある理由はありますか?
public interface FileFilter {
/** ... **/
boolean accept(File pathname);
}
FileFilter java = (File f) -> f.getName().endsWith(".java");
は我々だけで
(f) -> f.getName().endsWith(".java"); ?
で行くことができませんUPDATE:JSR-335 Draftでは、私が推測された型パラメータは
(int x) -> x+1 // Single declared-type parameter
(int x) -> { return x+1; } // Single declared-type parameter
(x) -> x+1 // Single inferred-type parameter
x -> x+1 // Parens optional for single inferred-type case
例のほとんどは、マニフェストパラメータの型を使用したことを理由に省略されている例があります、 1日目から型推論が検討されたとしても、純粋に教育的です。聴衆はこれまでにこの資料を見たことのない普通のJava開発者とみなされました。 lambdas *と*型推論を一度に投げ込むことは、取り込むことが多いでしょう。 –