Ошибка при использовании значения выбора даты в качестве параметров в конструкторе LocalDate

Я использую DatePicker, чтобы получить LocalDate, а затем преобразовать в String. Но каждый раз я пытаюсь получить год, месяц и дни из DatePicker, а затем использую их в качестве параметров в конструкторе LocalDate. Программа дала сбой. Если я просто вручную набираю год, месяц и день в конструкторе LocalDate, он отлично работает в TableView

@Override
public void initialize(URL url, ResourceBundle rb) 
{
    roomTypeChoice.setValue("Select");
    roomTypeChoice.setItems(roomTypeList);

    //setting the cell of each Column that propertyValueFactory should make sure that 
    //the variable name should be consisted with memeber variable name otherwise the tableview can not 
    //display the value
    firstNameCol.setCellValueFactory(new PropertyValueFactory<>("firstName"));
    lastNameCol.setCellValueFactory(new PropertyValueFactory<>("lastName"));
    checkInCol.setCellValueFactory(new PropertyValueFactory<>("checkInDate"));
    checkOutCol.setCellValueFactory(new PropertyValueFactory<>("checkOutDate"));      
    phoneCol.setCellValueFactory(new PropertyValueFactory<>("phoneNumber"));
    addressCol.setCellValueFactory(new PropertyValueFactory<>("address"));
    emailCol.setCellValueFactory(new PropertyValueFactory<>("email"));



}    

@FXML
private void checkIn(ActionEvent event)  
{

    //get the Check in date convert to Date Object from DatePicker
    LocalDate checkInLocalDate=LocalDate.of(checkInDatePicker.getValue().getYear(), checkInDatePicker.getValue().getMonthValue(), checkInDatePicker.getValue().getDayOfMonth());
    String checkInDate=checkInLocalDate.toString();
    System.out.println(checkInLocalDate.toString()+"");
    Customer customer=new Customer(firstNameTextField.getText().trim(),lastNameTextField.getText().trim(),checkInDate,checkInDate
    ,phoneTextField.getText().trim(),addressTextField.getText().trim(),emailTextField.getText().trim());


    tableView.getItems().add(customer);



}

Я надеюсь избавиться от этой проблемы, которая меня сильно раздражает.

Могу я спросить, почему вы создаете LocalDate из значений другого? Экземпляры LocalDate неизменяемы, что делает копирование ненужным. И не могли бы вы предоставить минимальный воспроизводимый пример, демонстрирующий проблему? Включите трассировку стека исключения в свой вопрос.. Я не могу воспроизвести проблему, используя OpenJDK 12 с JavaFX 12, хотя без фактической ошибки я не уверен, в чем проблема.

Slaw 27.03.2019 07:17
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
1
45
1

Ответы 1

Попробуйте с этим

LocalDate localDate = checkInDatePicker.getValue();

int day = localDate.getDayOfMonth();
int month = localDate.getMonthValue();
int year = localDate.getYear();

Другие вопросы по теме