Language Débutant

Ajoutez des méthodes utilitaires statiques directement aux interfaces au lieu de classes utilitaires séparées.

✕ Java 7
// Separate utility class needed
public class ValidatorUtils {
    public static boolean isBlank(
        String s) {
        return s == null ||
               s.trim().isEmpty();
    }
}

// Usage
if (ValidatorUtils.isBlank(input)) { ... }
✓ Java 8+
public interface Validator {
    boolean validate(String s);

    static boolean isBlank(String s) {
        return s == null ||
               s.trim().isEmpty();
    }
}

// Usage
if (Validator.isBlank(input)) { ... }
Un problème avec ce code ? Dites-le nous.
📦

Meilleure organisation

Gardez les utilitaires liés à l'interface, pas dans une classe séparée.

🔍

Découvrabilité

Les méthodes factory et auxiliaires se trouvent là où vous les attendez.

🧩

Cohésion d'API

Pas besoin de classes *Utils ou *Helper séparées.

Ancienne Approche
Classes utilitaires
Approche Moderne
Méthodes statiques dans les interfaces
Depuis JDK
8
Difficulté
Débutant
Méthodes statiques dans les interfaces
Disponible

Disponible depuis JDK 8 (mars 2014)

Avant Java 8, les méthodes utilitaires liées à une interface devaient résider dans une classe séparée (ex. Collections pour Collection). Les méthodes statiques dans les interfaces permettent de garder les utilitaires liés ensemble. C'est courant dans les APIs modernes comme Comparator.comparing(), Stream.of() et List.of().

Partager 𝕏 🦋 in