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 Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn