Java Lambdas et les Fermetures

J'entends les lambdas sont à venir pour Java près de chez vous (J8). J'ai trouvé un exemple de ce à quoi ils vont ressembler sur certains blog:

SoccerService soccerService = (teamA, teamB) -> {
    SoccerResult result = null;
    if (teamA == teamB) {
        result = SoccerResult.DRAW;
    }
    else if(teamA < teamB) {
        result = SoccerResult.LOST;
    }
    else {
        result = SoccerResult.WON;
    }

    return result;
};

Donc droit au large de la chauve-souris:

  • Où sont teamA et teamB tapé? Ou ne sont-ils pas (comme certains bizarre forme de génériques)?
  • Est un lambda un type de fermeture, ou est-ce l'inverse?
  • Quels seront les avantages que cela donne-moi plus d'un typique fonction anonyme?
InformationsquelleAutor IAmYourFaja | 2012-07-09