Articles of programmation fonctionnelle

Composer une fonction Java et un consommateur

Quel est le meilleur moyen de composer fonctionnellement une Function java et un Consumer ? Par exemple, si vous f.andThen(c) Function f et Consumer c le fait de faire f.andThen(c) semblerait naturel, mais ce n’est pas ainsi que fonctionnent les interfaces. Les deux options que je vois sont soit de remplacer le Consumer c par […]

Fonction Java 8 qui renvoie toujours la même valeur sans tenir compte du paramètre

Y at-il une fonction prédéfinie dans Java 8 qui fait quelque chose comme ceci: static Function constant(R val) { return (T t) -> { return val; }; } Pour répondre à la question des gens sur les raisons pour lesquelles j’ai besoin de cette fonction, voici l’utilisation réelle lorsque j’essaie d’parsingr un entier en chiffres […]

Java fonctionnel: quel est ce truc P1?

Je regarde Java fonctionnel et je ne comprends pas ce qu’est un P1 . Quelqu’un pourrait-il expliquer et / ou donner un exemple? (arrière-plan: je sais ce que sont currying et les fermetures)

Java 8 Method reference à la méthode d’instance d’un object arbitraire d’un type particulier

Pourquoi ce qui suit ne fonctionne pas? import java.util.function.Function; public class MethodRefTest { public Ssortingng passMeAround( Ssortingng input ) { return input + ” been passed to me”; } public Function testReferences() { final Function f1 = MethodRefTest::passMeAround; return f1; } public static void main( Ssortingng[] args ) { new MethodRefTest() .testReferences() .apply( “foo” ); […]

L’utilisation de facultatif dans les classes de cas et les champs de classes de Scala est-elle une odeur de code?

Il y avait déjà pas mal de discussions sur Stackoverflow sur les bonnes manières d’utiliser Optional en Java (discussions comme celle-ci ou celle-ci ) Désormais, l’utilisation de Optional pour les membres de classe en Java est largement reconnue comme une odeur de code et est même découragée par le fait qu’elle n’implémente délibérément pas l’interface […]

Identité pour BinaryOperator

Je vois dans Java8 dans UnaryOperator Interface le morceau de code suivant qui ne fait rien sur le paramètre et renvoie la même valeur. static UnaryOperator identity() { return t -> t; } Y at-il quelque chose pour BinaryOperator qui accepte deux parameters de samekind et renvoie une valeur static BinaryOperator identity() { return (t,t) […]

Remplir un tableau multidimensionnel à l’aide d’un stream

Je suis nouveau sur Java 8 et je ne parviens pas à saisir pleinement les stream, est-il possible de remplir un tableau à l’aide des opérations fonctionnelles de stream? Voici un exemple de code montrant comment je le ferais avec une norme pour une boucle: public static void testForLoop(){ Ssortingng[][] array = new Ssortingng[3][3]; for […]

Quelle est la manière la plus élégante d’append deux nombres optionnels?

Je dois effectuer une opération d’ajout sur deux grandes décimales qui sont des options enroulées: Optional ordersTotal; Optional newOrder; Je veux réaliser ordersTotal + = newOrder Il est important de noter que si les deux valeurs sont vides, le résultat doit également être vide (c’est-à-dire non nul). Voici ce que je suis venu avec: ordersTotal […]

Comment programmer sans effets secondaires en Java?

En tant que programmeur Java de longue date et accro de Haskell ces dernières années, j’apprends Scala maintenant. Ma question est: Comment programmer sans effets secondaires en Java? Par exemple, comment puis-je faire manuellement ce que Scala fait pour moi? Le livre Scala de Odersky explique souvent les concepts fonctionnels en termes de terminologie OO […]

Comment vérifier si est null et si a une valeur spécifique utilisant Optional en java?

Supposons que j’ai ce code dans mon projet: public List getAll(Integer parameter) { if(parameter != null && parameter > -1) { // do something here } } Ma question est la suivante: comment puis-je vérifier avec Optional au lieu d’utiliser if , ou s’il ya autre chose que je pourrais utiliser?