Créer une classe utility en Java

Rupam Yadav 12 octobre 2023
Créer une classe utility en Java

Les classes utilitaires en Java sont également connues sous le nom de classe d’assistance. C’est un moyen efficace de créer des méthodes qui peuvent être réutilisées. Le code que nous devons utiliser encore et encore peut être placé dans une classe utilitaire.

Utilisation de la classe utilitaire en Java

La classe utilitaire Java est une classe sans état qui ne peut pas être instanciée et déclarée à l’aide des mots-clés final et public. Dans l’exemple ci-dessous, nous avons un UtilityClassExample, qui a un constructeur privé qui empêche l’instanciation. Par exemple, il existe de nombreux exemples de classes Util en Java comme Apache StringUtils, CollectionUtils, ou java.lang.Math.

Les méthodes de la classe utilitaire doivent être déclarées static et non abstract car les méthodes d’objet nécessitent une instanciation. Le mot-clé final empêche le sous-classement. Ici, nous créons notre propre classe Utility avec un constructeur private qui, lorsqu’il est invoqué, lève une exception. Puisque nous avons déclaré un constructeur private, default ne peut pas être créé ; par conséquent, la classe ne peut pas être instanciée.

Dans le code ci-dessous, nous avons tous les membres de la statique UtilityClassExample. Si on a besoin d’ajouter ou de soustraire deux variables de type int ou float, on crée des méthodes dans la classe utilitaire pour réutiliser le code. Nous avons également une méthode qui renvoie un nombre multiplié par dix.

Dans la méthode addFloatValues(), nous avons également utilisé Math.round() pour arrondir le résultat à l’entier le plus proche. La classe Float a la méthode sum() qui renvoie la somme de deux arguments flottants. Nous appelons chaque méthode membre de cette classe utilitaire en passant des arguments et imprimons la sortie dans la méthode main() de la classe TestUtitity. Ainsi, cette classe utilitaire a des méthodes qui sont très souvent utilisées.

public final class UtilityClassExample {
  private static final int constantValue = 10;
  private UtilityClassExample() {
    throw new java.lang.UnsupportedOperationException("Utility class and cannot be instantiated");
  }
  public static int addIntValues(int i, int j) {
    int sum = i + j;
    return sum;
  }
  public static int subIntValues(int i, int j) {
    int diff = 0;
    if (i > j) {
      diff = i - j;
    } else {
      diff = j - i;
    }
    return diff;
  }
  public static float addFloatValues(float i, float j) {
    float sum = Float.sum(i, j);
    return Math.round(sum);
  }
  public static float subFloatValues(float i, float j) {
    float diff = 0.00f;
    if (i > j) {
      diff = i - j;
    } else {
      diff = j - i;
    }
    return diff;
  }

  public static int returnValAfterMultiplying(int i) {
    return i * constantValue;
  }
}
class TestUtility {
  public static void main(String[] args) {
    int a = 4;
    int b = 9;
    int c = 7;
    float d = 3.12f;
    float e = 6.85f;

    System.out.println(+a + " multiplied by ten is : 				     "
        + UtilityClassExample.returnValAfterMultiplying(a));
    System.out.println(b + "+" + c + " is : " + UtilityClassExample.addIntValues(b, c));
    System.out.println(d + "+" + e + " is : " + UtilityClassExample.addFloatValues(d, e));
    System.out.println(b + "-" + a + " is : " + UtilityClassExample.subIntValues(b, a));
    System.out.println(e + "-" + d + " is : " + UtilityClassExample.subFloatValues(e, d));
  }
}

Production :

4 multiplied by ten is : 40
9+7 is : 16
3.12+6.85 is : 10.0
9-4 is : 5
6.85-3.12 is : 3.73

Il n’est pas recommandé d’utiliser votre propre classe Utility car cela réduit la flexibilité.

Auteur: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn