Метод valueOf
Метод valueOf класса ChronoField возвращает элемент перечисления по его точному строковому имени.
В параметр мы передаем строку с именем константы, которую хотим получить.
Если константа с указанным именем не существует, метод выбрасывает исключение IllegalArgumentException.
Импорт
import java.time.temporal.ChronoField
Синтаксис
static fun valueOf(name: String): ChronoField
Пример
Получим элемент перечисления ChronoField для поля "YEAR":
val field = ChronoField.valueOf("YEAR")
println(field)
Результат выполнения кода:
ChronoField YEAR
Пример
Получим элемент перечисления ChronoField для поля "MONTH_OF_YEAR":
val field = ChronoField.valueOf("MONTH_OF_YEAR")
println(field)
Результат выполнения кода:
ChronoField MONTH_OF_YEAR
Пример
Используем полученное поле для извлечения значения из даты:
import java.time.LocalDate
val date = LocalDate.of(2025, 12, 31)
val yearField = ChronoField.valueOf("YEAR")
val yearValue = date.get(yearField)
println("Year value: $yearValue")
Результат выполнения кода:
String "Year value: 2025"
Пример
Попытка получить несуществующее поле приведет к исключению:
try {
val field = ChronoField.valueOf("INVALID_FIELD")
println(field)
} catch (e: IllegalArgumentException) {
println("Error: " + e.message)
}
Результат выполнения кода:
String "Error: No enum constant java.time.temporal.ChronoField.INVALID_FIELD"
Смотрите также
-
метод
valuesклассаChronoField,
который возвращает все элементы перечисления -
класс
ChronoUnit,
который представляет единицы измерения времени -
класс
TemporalField,
который представляет поле временного объекта