Remplacer la méthode toString en Java

Rupam Yadav 12 octobre 2023
Remplacer la méthode toString en Java

Nous utilisons souvent des chaînes en Java car elles constituent une partie essentielle de chaque programme. Dans ce tutoriel, nous verrons comment remplacer la méthode tostring() en Java à l’aide d’un exemple simple pour mieux comprendre le concept.

Remplacer la méthode toString() à l’aide de l’annotation @Override en Java

La méthode toString() fait partie de la classe Object qui est une superclasse de toutes les classes de Java. Cela signifie que chaque classe a sa propre méthode toString(). Mais nous n’obtenons pas le résultat souhaité de la méthode par défaut toString() à chaque fois. C’est lorsque nous devons remplacer la méthode et la personnaliser en fonction de nos besoins.

Pour montrer comment surcharger la méthode toString(), nous verrons deux exemples, l’un sans surcharger la méthode toString() et un autre avec la méthode surchargée.

Dans l’exemple ci-dessous, nous avons une classe ExampleClass avec trois variables qui sont initialisées dans un constructeur. Lorsque nous créons un objet de la classe ExampleClass avec les arguments passés et que nous imprimons ensuite l’objet, nous obtenons l’objet qui n’a pas de sens et qui n’est pas lisible pour les humains. C’est parce que, lors de l’impression de ExampleClass, sa valeur par défaut toString() est appelée. Mais nous voulons imprimer les valeurs des variables sous forme de chaîne. Pour ce faire, nous allons surcharger la méthode toString() dans l’exemple suivant.

public class OverrideToString {
  public static void main(String[] args) {
    ExampleClass exampleClass = new ExampleClass("Alex", "Novel", 24);

    System.out.println(exampleClass);
  }
}

class ExampleClass {
  String firstName;
  String lastName;
  int age;

  ExampleClass(String firstName, String lastName, int age) {
    this.firstName = firstName;
    this.lastName = lastName;
    this.age = age;
  }
}

Production:

ExampleClass@37bba400

Dans le code suivant, nous prenons le même exemple que précédemment, mais cette fois nous substituons la méthode toString() en utilisant l’annotation @Override et écrivons le nom de la méthode sous la forme toString() avec un type de retour de String. Nous pouvons le faire manuellement ou utiliser des raccourcis inclus dans de nombreux IDE.

Comme la méthode renvoie une chaîne, nous devons la construire. Nous concaténons les variables avec String pour créer une seule chaîne. Enfin, lorsque nous créons un objet de exampleClass et l’imprimons, nous obtenons la sortie sous forme de chaîne avec les valeurs des variables passées. Cela se produit parce que nous surchargeons la méthode toString() pour spécifier notre propre implémentation.

public class OverrideToString {
  public static void main(String[] args) {
    ExampleClass exampleClass = new ExampleClass("Alex", "Novel", 24);

    System.out.println(exampleClass);
  }
}

class ExampleClass {
  String firstName;
  String lastName;
  int age;

  ExampleClass(String firstName, String lastName, int age) {
    this.firstName = firstName;
    this.lastName = lastName;
    this.age = age;
  }

  @Override
  public String toString() {
    return "firstName='" + firstName + '\'' + ", lastName='" + lastName + '\'' + ", age=" + age;
  }
}

Production:

firstName='Alex', lastName='Novel', age=24
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

Article connexe - Java Override