Как преобразовать календарь в дату в Kotlin? - PullRequest
0 голосов
/ 27 марта 2019

Я пытаюсь добавить один месяц к дате с помощью Calendar.getInstance (), но не могу понять, почему возникает ошибка "java.lang.ClassCastException: java.util.Date не может быть приведена к java.lang. Число »при попытке получить Календарь для объекта Date.

Вот исходный код, который я использую:

    val date = Date()
    val cal = Calendar.getInstance()
    cal.time = date
    cal.add(Calendar.MONTH, 1)
    val datePlusOneMonth: Date = cal.time

Ответы [ 2 ]

1 голос
/ 28 марта 2019

попробуйте этот код

val datePlusOneMonth = Calendar.getInstance().run {
    add(Calendar.MONTH, 1)
    time
}
0 голосов
/ 27 марта 2019

Спасибо, Сергей ... Код работает нормально.Но я был разочарован, потому что я добавил бесполезную строку кода для отладки и поставил на нее точку останова:

val datePlusOneMonth: Date = cal.time
val ok = false

И я поставил точку останова на «val ok = false» иотладчик никогда не останавливался на «val ok = false», потому что «ok» никогда не использовался.

Затем, чтобы отладчик остановился на «val ok = false», я должен был сделать следующее:

val datePlusOneMonth: Date = cal.time
val ok = false
val ok2 = ok

И тогда я мог бы добавить точку останова на "val ok = false", и да, код работает хорошо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...