Я собираю Java SDK. Я создал несколько разных классов и создаю методы toString() для каждого класса. Но я нахожу, что, когда я использую свой собственный SDK, вместо того, чтобы обертывать свой объект в SysOut, он выглядит чище, просто выполните следующие действия и создайте методы print() вместе с моими методами toString().
Object object = new Object();
object.print();
Является ли стандартом включать методы print() для классов Java? Или я должен придерживаться SysOut (Object.toString()).
Object object = new Object();
System.out.println(object.toString());
Редактировать: В качестве бонуса, так как мы находимся в сфере "лучшей" практики, чтобы начать с... Является ли это более распространенным (попытаться сделать это больше, чем мнение...), показать toString или пойти с подразумеваемый вызов toString?
Object object = new Object();
System.out.println(object.toString());
или
Object object = new Object();
System.out.println(object);
1) Нет, он не является "стандартным", вы должны оставить разработчику, где (и если) напечатать, дать им просто представление String ваших классов.
2)
Object object = new Object(); System.out.println(object.toString());
или
Object object = new Object(); System.out.println(object);
То же самое, поскольку System.out.println(Object o) вызывает String.valueOf(o), который вызывает o.toString(). Если вы уверены, что объект не имеет значения null, используйте System.out.println(object.toString());
в противном случае используйте System.out.println(object);
,
print()
для классов Java? Нет. Держите логику сериализации отдельно от поведения вашего объекта.