Java: Extrémní užití lambda výrazu

Minisérii o lambda výrazech zakončíme ještě jedním příkladem z praxe, kdy šikovně použitá lambda výrazně usnadnila programování.

Zadání: sesbírat veškeré texty z dané komponenty a spojit je do jednoho. Nevrátit však sloučený text jako takový, ale nainicializovanou instanci typu Source, která bude sloučený text vracet. A protože interface Source má pouze jednu metodu (tudíž je automaticky funkční interface), nabízí se krásná příležitost použít lambda výraz. Implementaci nám rovněž usnadní metoda String.join() coby jedna z novinek v Java 8. Slučování stringů již není potřebné implementovat manuálně.

import java.util.List;

public Source getSource() {
    List<String> items = collectStrings();
    return ( () -> String.join("\n", items) );
}

Minimalistické a přehledné. Vyzkoušeno, funguje.

Tagy: Java, Programování

Tento web bude tebe a tvůj počítač krmit piškotkami, jelikož a protože je to slušný web a jako takový ví, že je potřeba návštěvu řádně pohostit, aby se u nás cítila dobře. Užíváním tohoto webu potvrzuješ, že netrpíš mentální anorexií, nedržíš žádnou obskurní dietu a že můžeš piškotki do sebe cpát kdykoli a v jakémkoli množství. Více informací...