Brzmi trochę głupio, ale potrzebuję pomocy w mojej metodzie toString() i to jest bardzo irking. Próbowałem wyszukiwać w Internecie, ponieważ toString jest tym, w którym jest to zepsute i "nie znajduje konstruktora Kid # 2", mimo że jest tam i chciałbym nawet zrobić coś innego i to nie działa. Ok to było dużo, więc tutaj jest mój kod:Jak poprawnie przesłonić toString() w Javie?
import java.util.*;
class Kid {
String name;
double height;
GregorianCalendar bDay;
public Kid() {
this.name = "HEAD";
this.height = 1;
this.bDay = new GregorianCalendar(1111,1,1);
}
public Kid (String n, double h, String date) {
// method that toString() can't find somehow
StringTokenizer st = new StringTokenizer(date, "/", true);
n = this.name;
h = this.height;
}
public String toString() {
return Kid(this.name, this.height, this.bDay);
}
} //end class
Ok Więc moja toString powyżej (wiem, mój trzeci parametr jest wyłączony, powinno być String) jest wyłączony. Jeśli utknę wartość na trzecią rzecz, to się zepsuje i mówi, że nie może tego znaleźć (wyżej). Więc jak mogę uzyskać datę i rozbić?
Klasa nazywając to poniżej
class Driver {
public static void main (String[] args) {
Kid kid1 = new Kid("Lexie", 2.6, "11/5/2009");
System.out.println(kid1.toString());
} //end main method
} //end class
Próbowałem badania wielu konstruktorów i to naprawdę nie pomaga. Próbowałem badać metody toString() i próbowałem użyć poprzedniej logiki metod toString(), które stworzyłem wcześniej, ale jest to zupełnie nowe, więc nigdy nie działało.
Pomoc?
Proszę napisać kod, który faktycznie by się skompilował. Twoja metoda 'toString()' nie zwraca łańcucha i nie można wywołać takiego konstruktora. Nie jest jasne, co nawet próbujesz osiągnąć. Przeczytaj http://tinyurl.com/so-hints i wyjaśnij swoje pytanie. –
Spring ToStringCreator (https://github.com/SpringSource/spring-framework/tree/master/spring-core/src/main/java/org/springframework/core/style) wykonuje to zadanie bardzo ładnie. – Ritesh