Y a-t-il des raisons pour lesquelles la spécification du type d'argument est requise dans la syntaxe de Java 8 Lambda?
Question
J'ai lu http://cr.openjdk.java.net/~briangoetz/lambda/lambda-state-4.html et a remarqué que tous les exemples ont un type d'argument déclaré explicitement, même s'il est déjà connu dans la déclaration d'interface-fonction.
public interface FileFilter {
/** ... **/
boolean accept(File pathname);
}
FileFilter java = (File f) -> f.getName().endsWith(".java");
Ne pouvons-nous pas aller avec juste
(f) -> f.getName().endsWith(".java"); ?
METTRE À JOUR: Dans le Draft JSR-335, J'ai constaté que les paramètres de type déduit sont plus susceptibles d'être pris en charge
(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
Pas de solution correcte
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow