[JAVA] La fonction est très facile à utiliser

Interface de fonction

Vous pouvez maintenant écrire une méthode en tant que Function dans une expression lambda. Faisons-le pour le moment.

référence Référence officielle

Function.java


package functionPractice;

import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.Arrays;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Supplier;
import java.util.function.UnaryOperator;
import java.util.stream.Collectors;

/**
 * To practice function-interface
 * 
 * @author me
 *
 */
public class FunctionPractice {

	/**
	 * main
	 * 
	 * @param args
	 */
	public static void main(String[] args) {
		try {
			run();
		} catch (NumberFormatException e) {
			echo.accept("・ Ω ・ v");
		}
	}

	/**
	 * run
	 * 
	 * @throws NumberFormatException if conversion to numeric number is impossible.
	 */
	private static void run() throws NumberFormatException {
		generate.get().stream().filter(Objects::nonNull).map(toString.andThen(add3).andThen(toInteger)).forEach(echo);
		echo.accept(join.apply(generate.get()));
		List<Integer> list = generate.get().stream().map(toInteger).collect(Collectors.toList());
		echo.accept(list);
		echo.accept(sum.apply(list));
	}

	/** Output */
	static Consumer<Object> echo = v -> System.out.println(v);
	/** Generate */
	static Supplier<List<String>> generate = () -> Arrays.asList(null, "1", "2", "3");
	/** Object to String */
	static Function<Object, String> toString = v -> String.valueOf(v);
	/** Object to Integer */
	static Function<Object, Integer> toInteger = v -> Integer
			.parseInt(Optional.ofNullable(v).orElse("1").toString());
	/** Add "3" */
	static UnaryOperator<String> add3 = v -> v + "3";
	/** Join comma */
	static Function<List<String>, String> join = v -> v.stream().filter(Objects::nonNull).collect(Collectors.joining(","));
	/** Sum integer list */
	static Function<List<Integer>, Integer> sum = v -> v.stream().filter(Objects::nonNull)
			.collect(Collectors.summingInt(Integer::intValue));
}

Déclarez simplement Fonction <argument, valeur de retour> et écrivez le processus de votre choix.

Eh bien, il y a beaucoup d'autres choses, mais elles ont été officiellement mentionnées.

Ce que vous écrivez habituellement dans la méthode, en écrivant dans Funtion Cela réduira le nombre de lignes et le rendra plus facile à voir.

La difficulté est que javaDoc est difficile à voir?

Même ainsi, ce sera incroyablement intelligent, non?

Recommended Posts

La fonction est très facile à utiliser
Array.map facile à utiliser (&: méthode)
Facile à utiliser Cloud Firestore (Android)
[Traitement × Java] Comment utiliser la fonction
[Rails] Enum est plus facile à utiliser! Énumélisez!
Écrire du code facile à maintenir (partie 1)
Ajoutez une fonction de balise aux rails. Utilisez actes-comme-taggable-on
Un moyen très simple d'utiliser enum avec JSP
Écrire du code facile à maintenir (partie 4)
Écrire du code facile à maintenir (partie 3)
Comment utiliser Map
Comment utiliser rbenv
Comment utiliser fields_for
Comment utiliser java.util.logging
Comment utiliser la carte
Comment utiliser collection_select
Passons en revue le PATH pour utiliser docker-slim
Comment utiliser Twitter4J
Comment utiliser active_hash! !!
Comment utiliser MapStruct
Comment utiliser TreeSet
[Comment utiliser l'étiquette]
Comment utiliser l'identité
Comment utiliser le hachage
14 Correspond à une expression de fonction
Comment utiliser Dozer.mapper
Comment utiliser Gradle
Comment utiliser org.immutables
Comment utiliser java.util.stream.Collector
Comment utiliser VisualVM
Utilisez stream pour vérifier que SimpleDateFormat est thread unsafe
Comment utiliser Map
Facile à entretenir FizzBuzz
Delicate est pratique à utiliser lorsque vous souhaitez réutiliser des pièces
Comment utiliser l'API Chain
[Java] Comment utiliser Map
Comment utiliser Queue avec priorité
Java pour jouer avec Function
Comment ajouter la fonction ActionText
[Rails] Comment utiliser enum
Bibliothèque de traitement facile à créer
Comment utiliser java Facultatif
Comment utiliser JUnit (débutant)
Comment utiliser le retour Ruby
[Rails] Comment utiliser enum
Comment utiliser @Builder (Lombok)
Comment utiliser la classe Java
Comment utiliser Big Decimal
[Java] Comment utiliser removeAll ()
Comment utiliser String [] args
Comment utiliser la jonction de rails