Java Lambdas и замыкания

Я слышал, что лямбды скоро появятся на Java рядом с вами (J8 ). Я нашел пример того, как они будут выглядеть в каком-то блоге:

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;
};

Так сразу же:

  • Где набираются teamAи teamB? Или они (не похожи на какую-то странную форму дженериков )?
  • Является ли лямбда замыканием типа или наоборот?
  • Какие преимущества это даст мне по сравнению с обычной анонимной функцией?
20
задан Tom Hawtin - tackline 10 July 2012 в 00:24
поделиться