Substitua o método toString em Java

Rupam Yadav 12 outubro 2023
Substitua o método toString em Java

Freqüentemente usamos strings em Java, pois são uma parte essencial de todo programa. Neste tutorial, veremos como podemos substituir o método tostring() em Java usando um exemplo fácil para entender melhor o conceito.

Substitua o método toString() usando a anotação @Override em Java

O método toString() é uma parte da classe Object que é uma superclasse de todas as classes em Java. Isso significa que cada classe tem seu próprio método toString(). Mas não obtemos a saída desejada do método toString() padrão todas as vezes. É quando temos que substituir o método e personalizá-lo de acordo com nossas necessidades.

Para demonstrar como sobrescrever o método toString(), veremos dois exemplos, um sem sobrescrever o método toString() e outro que tem o método sobrescrito.

No exemplo abaixo, temos uma classe ExampleClass com três variáveis ​​que são inicializadas em um construtor. Quando criamos um objeto da classe ExampleClass com os argumentos passados ​​e, em seguida, imprimimos o objeto, obtemos o objeto que não é significativo e não pode ser lido por humanos. É porque, quando imprime exampleClass, seu padrão toString() é chamado. Mas queremos imprimir os valores das variáveis ​​como uma string. Para fazer isso, substituiremos o método toString() no próximo exemplo.

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;
  }
}

Resultado:

ExampleClass@37bba400

No código a seguir, pegamos o mesmo exemplo de antes, mas desta vez substituímos o método toString() usando a anotação @Override e escrevemos o nome do método como toString() com um tipo de retorno de String. Podemos fazer isso manualmente ou podemos usar atalhos que estão incluídos em muitos IDEs.

Como o método retorna uma String, temos que construí-la. Concatenamos as variáveis ​​com String para fazer uma única String. Por fim, quando criamos um objeto de exampleClass e o imprimimos, obtemos a saída como uma String com os valores das variáveis ​​passadas. Isso acontece porque substituímos o método toString() para especificar nossa própria implementação.

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;
  }
}

Resultado:

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

Artigo relacionado - Java Override