Считается ли метод печати стандартным в SDK или только toString?

1

Я собираю 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);
  • 0
    Я никогда не сталкивался с техникой .print (), которую вы описываете за 15 лет Java ... Звучит как механизм .inspect рубина ...
  • 2
    Стандартно ли включать методы print() для классов Java? Нет. Держите логику сериализации отдельно от поведения вашего объекта.
Показать ещё 2 комментария
Теги:
printing
sdk

1 ответ

1
Лучший ответ

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); ,

Ещё вопросы

Сообщество Overcoder
Наверх
Меню