Expert
Ce code
public class ArgumentReplacer {
public static final String BEGINING_MUSTACH = "\\{\\{\\s*";
public static final String ENDING_MUSTACH = "\\s*\\}\\}";
public static String replace(String template, Map<String, String> arguments) {
if (needNoReplace(template, arguments)) {
return template;
}
return arguments.entrySet().stream().reduce(template, ArgumentReplacer::replaceEntry, keepFirst());
}
private static boolean needNoReplace(String template, Map<String, String> arguments) {
return template == null || arguments == null;
}
private static String replaceEntry(String result, Map.Entry<String, String> entry) {
return result.replaceAll(BEGINING_MUSTACH + entry.getKey() + ENDING_MUSTACH, entry.getValue());
}
private static BinaryOperator<String> keepFirst() {
return (k, v) -> v;
}
}
Auteur: Clément DevosStatut : PubliéeQuestion passée 502 fois
Modifier
1
Évaluations de la communautéPersonne n'a encore évalué cette question, soyez le premier !
1
Quel est le nom du design pattern utilisé pour structurer les applications complexes en considérant le domaine du problème ?4
Ce code permet de récupérer aléatoirement des nombres entre 1 et 31 dans les résultats. Il aurait fallu déclarer SimpleDateFormat dans le Thread.1
Une classe Java qui convertit les nombres arabes en chiffres romains.1
Quelle fonctionnalité de Java 7 n'a été utilisable qu'en Java 8?1
Que signifie SRP ?2
Écrire une fonction qui retourne le premier caractère d'une chaîne de caractères en Java1
Écrire une implémentation en Java du code kata FizzBuzz.