Sostituisci il metodo toString in Java
Usiamo spesso le stringhe in Java poiché sono una parte essenziale di ogni programma. In questo tutorial vedremo come possiamo sovrascrivere il metodo tostring()
in Java usando un semplice esempio per capire meglio il concetto.
Sostituisci il metodo toString()
usando l’annotazione @Override
in Java
Il metodo toString()
fa parte della classe Object
che è una superclasse di ogni classe in Java. Significa che ogni classe ha il proprio metodo toString()
. Ma non otteniamo l’output desiderato dal metodo predefinito toString()
ogni volta. È quando dobbiamo sovrascrivere il metodo e personalizzarlo in base alle nostre esigenze.
Per dimostrare come sovrascrivere il metodo toString()
, vedremo due esempi, uno senza sovrascrivere il metodo toString()
e un altro con il metodo sovrascritto.
Nell’esempio seguente, abbiamo una classe ExampleClass
con tre variabili inizializzate in un costruttore. Quando creiamo un oggetto della classe ExampleClass
con gli argomenti passati e poi stampiamo l’oggetto, otteniamo l’oggetto che non è significativo e non leggibile per gli umani. È perché, quando print exampleClass
, viene chiamato il suo valore predefinito toString()
. Ma vogliamo stampare i valori delle variabili come una stringa. Per fare ciò, nel prossimo esempio sovrascriveremo il metodo toString()
.
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;
}
}
Produzione:
ExampleClass@37bba400
Nel codice seguente, prendiamo lo stesso esempio di prima, ma questa volta sovrascriviamo il metodo toString()
utilizzando l’annotazione @Override
e scriviamo il nome del metodo come toString()
con un tipo restituito di String
. Possiamo farlo manualmente o possiamo usare le scorciatoie che sono incluse in molti IDE.
Poiché il metodo restituisce una stringa, dobbiamo costruirla. Concateniamo le variabili con String per creare una singola String. Alla fine, quando creiamo un oggetto di exampleClass
e lo stampiamo, otteniamo l’output come String con i valori delle variabili passate. Succede perché sovrascriviamo il metodo toString()
per specificare la nostra implementazione.
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;
}
}
Produzione:
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