Java 8 Lambda構文で引数タイプを指定する理由はありますか?
質問
読みました http://cr.openjdk.java.net/~briangoetz/lambda/lambda-state-4.html また、すべての例には、インターフェイス機能宣言からすでに知られているにもかかわらず、引数タイプが明示的に宣言されていることに気付きました。
public interface FileFilter {
/** ... **/
boolean accept(File pathname);
}
FileFilter java = (File f) -> f.getName().endsWith(".java");
ただ一緒に行けません
(f) -> f.getName().endsWith(".java"); ?
アップデート: : の中に JSR-335ドラフト, 、推測されたタイプのパラメーターがサポートされる可能性が最も高いことがわかりました
(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
正しい解決策はありません
所属していません StackOverflow