Java. Метод toString()

Класс Object имеет метод toString() , который наследует каждый создаваемый вами класс. Он возвращает представление вашего объекта в виде String и очень полезен для отладки. Чтобы увидеть действие метода toString() , реализованное по умолчанию, выполните следующий эксперимент в методе main() :

public static void main(String[] args) {
	Adult myAdult = new Adult();
	
	myAdult.addMoney(1);
	myAdult.addmoney(5);
	
	System.out.println(myAdult);
}

Результат, отображаемый в консоли, выглядит следующим образом:

 intro.core.Adult@b108475c

Метод println() вызывает метод toString() объекта, переданного ему. Поскольку мы пока не перегрузили toString() , то получаем вывод информации по умолчанию, которой является ID объекта. Каждый объект имеет ID, но он не много скажет вам о самом объекте. Было бы лучше, если бы мы перегрузили toString() для выдачи красиво отформатированного содержимого нашего объекта Adult :

public String toString() {
	StringBuffer buffer = new StringBuffer();

	buffer.append("And Adult with: " + "\n");
	buffer.append("Age: " + age + "\n");
	buffer.append("Name: " + getName() + "\n");
	buffer.append("Race: " + getRace() + "\n");
	buffer.append("Gender: " + getGender() + "\n");
	buffer.append("Progress: " + getProgress() + "\n");
	buffer.append("Wallet: " + getWallet());
	
	return buffer.toString();
}

Мы создаем StringBuffer для создания представления нашего объекта в виде String , затем возвращаем объект String . После выполнения этого примера на консоли должна отобразиться следующая красиво отформатированная информация:

An Adult with: 
Age: 25
Name: firstname lastname
Race: inuit
Gender: male
Progress: 0
Wallet: [1, 5]

Это значительно удобнее и полезнее, чем загадочный ID объекта.

Рейтинг
( Пока оценок нет )
Загрузка ...