Метод valueOf

Метод valueOf класса ChronoField возвращает элемент перечисления по его точному строковому имени. В параметр мы передаем строку с именем константы, которую хотим получить. Если константа с указанным именем не существует, метод выбрасывает исключение IllegalArgumentException.

Импорт

kotlinimport java.time.temporal.ChronoField

Синтаксис

kotlinstatic fun valueOf(name: String): ChronoField

Пример

Получим элемент перечисления ChronoField для поля "YEAR":

kotlinval field = ChronoField.valueOf("YEAR")
println(field)

Результат выполнения кода:

kotlinChronoField YEAR

Пример

Получим элемент перечисления ChronoField для поля "MONTH_OF_YEAR":

kotlinval field = ChronoField.valueOf("MONTH_OF_YEAR")
println(field)

Результат выполнения кода:

kotlinChronoField MONTH_OF_YEAR

Пример

Используем полученное поле для извлечения значения из даты:

kotlinimport java.time.LocalDate

val date = LocalDate.of(2025, 12, 31)
val yearField = ChronoField.valueOf("YEAR")
val yearValue = date.get(yearField)

println("Year value: $yearValue")

Результат выполнения кода:

kotlinString "Year value: 2025"

Пример

Попытка получить несуществующее поле приведет к исключению:

kotlintry {
  val field = ChronoField.valueOf("INVALID_FIELD")
  println(field)
} catch (e: IllegalArgumentException) {
  println("Error: " + e.message)
}

Результат выполнения кода:

kotlinString "Error: No enum constant java.time.temporal.ChronoField.INVALID_FIELD"

Смотрите также

  • метод values класса ChronoField,
    который возвращает все элементы перечисления
  • класс ChronoUnit,
    который представляет единицы измерения времени
  • класс TemporalField,
    который представляет поле временного объекта