Lambda výraz je jiný způsob zápisu anonymních tříd v Javě.
Lambda
Arrays.sort(pole, (String first, String second) -> { return Integer.compare(first.length(), second.length()); });
Anonymní třída
Arrays.sort(pole, new Comparator() { @Override public int compare(String first, String second) { return Integer.compare(first.length(), second.length()); } });
Lambda výraz je možné použít proto, že Comparator je funkční rozhraní. To znamená, že toto rozhraní má jedinou abstraktní metodu. Pro tato rozhraní se používá anotace @FunctionalInterface. Tato anotace není povinná a pouze kontroluje, zda dané rozhraní splňuje podmínky funkčního rozhraní.