переопределение toString

176
09 января 2020, 01:40

В целом знаю как делать переопределение toString, но возникла ситуация посложнее, помогите разобраться плиз.

Есть коллекция ObservableList, она оперирует данными из другого класса, и вот как в данном случае, переопределить toString, что бы выводить полностью данные коллекции, вот мой код

    private ObservableList<MainData> contractData = FXCollections.observableArrayList();
\\MainData - класс с данными, которые использует ObservableList

Есть конструктор в том же классе

public Main() {
    // В качестве образца добавляем некоторые данные
    contractData.add(new MainData("Qwe",  LocalDate.of(2011,11,10),
            LocalDate.of(2018,11,7)));
    contractData.add(new MainData("Rty", LocalDate.of(2012,12,1),
            LocalDate.of(2017,9,9)));
    contractData.add(new MainData("Uio", LocalDate.of(2013,1,12),
            LocalDate.of(2020,7,11)));
}

И сам класс MainData

public class MainData {
private final StringProperty numberContract;
private final ObjectProperty<LocalDate> dateContract;
private final StringProperty counterparty;
private final StringProperty subjectContract;
private final ObjectProperty<LocalDate> dateExecutionContract;
private final ObjectProperty<LocalDate> timeContract;
private final IntegerProperty price;
/**
 * Конструктор по умолчанию.
 */
public MainData() {
    this(null, null, null);
}
/**
 * Конструктор с некоторыми начальными данными.
 */
public MainData(String numberContract, LocalDate dateExecutionContract, LocalDate timeContract) {
    this.numberContract = new SimpleStringProperty(numberContract);
    this.dateExecutionContract = new SimpleObjectProperty(dateExecutionContract);
    this.timeContract = new SimpleObjectProperty(timeContract);
    // Какие-то фиктивные начальные данные для удобства тестирования.
    this.dateContract = new SimpleObjectProperty(LocalDate.of(2018, 2, 21));
    this.counterparty = new SimpleStringProperty("Ланит");
    this.subjectContract = new SimpleStringProperty("Поставка");
    this.price = new SimpleIntegerProperty(2354687);
}

Как переопределить toString для корректного вывода информации? Хотя бы в трех словах для понимания

READ ALSO
Spring Security: не проходит тестирование

Spring Security: не проходит тестирование

Я покрыл контроллеры правами, таким образом:

178
Присваивание и логические операторы java

Присваивание и логические операторы java

Во время написания одной программы возник интересный вопрос: "Можно ли как-то присвоить нескольким переменным одинаковое значение с помощью...

171
Android. Где хранить изменяемые строковые ресурсы?

Android. Где хранить изменяемые строковые ресурсы?

Есть готовое приложение учета зарплатыВ нем есть 5 категорий - зарплата, аванс, больничные, отпускные, иное

173