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í