Spec-Zone .ru
спецификации, руководства, описания, API
|
D
- конкретный тип для датыpublic interface ChronoLocalDate<D extends ChronoLocalDate<D>> extends Temporal, TemporalAdjuster, Comparable<ChronoLocalDate<?>>
Большинство приложений должно объявить сигнатуры методов, поля и переменные как LocalDate
, не этот интерфейс.
A ChronoLocalDate
абстрактное представление даты где Chronology chronology
, или календарная система, является сменным. Дата определяется с точки зрения полей, выраженных TemporalField
, где наиболее распространенные реализации определяются в ChronoField
. Хронология определяет, как календарная система работает и значение стандартных полей.
LocalDate
вместо этого интерфейса, даже в случае, где приложение должно иметь дело с многократными календарными системами. Объяснение для этого исследуется в следующей документации. Основной вариант использования, где этот интерфейс должен использоваться, то, где универсальный параметр типа <D>
полностью определяется как определенная хронология. В этом случае предположения о той хронологии известны во время разработки и определяются в коде.
Когда хронология определяется в универсальном параметре типа как? или иначе неизвестный во время разработки, остальная часть обсуждения ниже применяется.
Чтобы подчеркнуть мысль, объявляя сигнатуру метода, поле или переменную как, этот тип интерфейса может первоначально походить на заметный способ глобализировать приложение, однако это обычно - неправильный подход. Также, это нужно считать архитектурным решением всего приложения хотеть использовать этот интерфейс в противоположность LocalDate
.
1) Приложения используя этот интерфейс, в противоположность использованию только LocalDate
, будьте обращенным к значительно более высокой вероятности ошибок. Это - то, потому что календарная система в использовании не известна во время разработки. Ключевая причина ошибок состоит в том, где разработчик применяет предположения от их ежедневного знания календарной системы ISO, чтобы кодировать, который предназначается, чтобы иметь дело с любой произвольной календарной системой. Раздел ниже схем, как те предположения могут вызвать проблемы основной механизм для того, чтобы уменьшить этот увеличенный риск ошибок, является процессом рассмотрения кода strong. Это нужно также считать добавочной стоимостью в обслуживании для времени жизни кода.
2) Этот интерфейс не осуществляет неизменность реализаций. В то время как примечания реализации указывают, что все реализации должны быть неизменными нет ничего в коде или системе типов, чтобы осуществить это. Любой метод, который, как объявляют, принял a ChronoLocalDate
мог поэтому быть передан плохо или злонамеренно записан изменчивая реализация.
3) Приложения используя этот интерфейс должны рассмотреть воздействие эр. LocalDate
пользователи экранов от понятия эр, гарантируя это getYear()
возвращает преждевременный год. То решение гарантирует, что разработчики могут думать LocalDate
экземпляры как состоящий из трех полей - год, месяц-летнего и день-месячного. В отличие от этого, пользователи этого интерфейса должны думать о датах как состоящий из четырех полей - эра, год эры, месяц-летнего и день-месячного. О дополнительном поле эры часто забывают, все же это имеет огромную важность к датам в произвольной календарной системе. Например, в японской календарной системе, эра представляет господство Императора. Всякий раз, когда одно господство заканчивается, и другой запускает, год эры сбрасывается одному.
4) Единственный согласованный международный стандарт для того, чтобы передать дату между двумя системами является стандартом ISO 8601, который требует календарной системы ISO. Используя этот интерфейс всюду по приложению неизбежно приведет к требованию, чтобы передать дату через сеть или компонентную границу, требуя специализированного протокола или формата.
5) Долгосрочная персистентность, такая как база данных, будет почти всегда только принимать даты в календарной системе ISO 8601 (или связанное Юлианско-грегорианское). Раздавание дат в других календарных системах увеличивает сложности взаимодействия с персистентностью.
6) Большую часть времени, передача a ChronoLocalDate
всюду по приложению является ненужным, как обсуждено в последнем разделе ниже.
Код, который запрашивает день-месячного и предполагает, что значение никогда не будет больше чем 31, недопустим. Через несколько месяцев у некоторых календарных систем есть больше чем 31 день.
Код, который добавляет 12 месяцев к дате и предполагает, что год был добавлен, недопустим. У некоторых календарных систем есть различное число месяцев, такой как 13 на коптском или древнеэфиопском языке.
Код, который добавляет один месяц к дате и предполагает, что значение месяца-летнего увеличится одним или перенесется к следующему году, недопустим. У некоторых календарных систем есть переменное число месяцев через год, таких как еврей.
Код, который добавляет один месяц, затем добавляет второй месяц и предполагает, что день-месячного останется близко к его исходному значению, недопустимо. У некоторых календарных систем есть значительные различия между продолжительностью самого долгого месяца и продолжительностью самого короткого месяца. Например, у коптского или древнеэфиопского языка есть 12 месяцев 30 дней и 1 месяц 5 дней.
Код, который добавляет семь дней и предполагает, что неделя была добавлена, недопустим. У некоторых календарных систем есть недели кроме семи дней, таких как французский Революционер.
Код, который предполагает что потому что год date1
больше чем год date2
тогда date1
после date2
недопустимо. Это недопустимо для всех календарных систем, обращаясь к году эры, и особенно несоответствующий из японской календарной системы, где год эры перезапускает с господством каждого нового Императора.
Код, который обрабатывает месяц-летнего один и день-месячного один как запуск года, недопустим. Не все календарные системы запускают год, когда значение месяца является тем.
Вообще, управление датой, и даже запросы даты, являются широко открытыми для ошибок, когда календарная система неизвестна во время разработки. Это - то, почему важно, что код, используя этот интерфейс подвергается отзывам дополнительного кода. Это также, почему архитектурное решение избежать этого типа интерфейса обычно является корректным.
LocalDate
. LocalDate
к и от привилегированной календарной системы пользователя во время печати и парсинга Этот подход обрабатывает проблему глобализированных календарных систем как проблема локализации и ограничивает ее уровнем UI. Этот подход в соответствии с другими проблемами локализации в платформе java.
Как обсуждено выше, выполняя вычисления в дату, где правила календарной системы являются сменными, требует навыка и не рекомендуется. К счастью, потребность выполнить вычисления в дату в произвольной календарной системе чрезвычайно редка. Например, очень маловероятно, что бизнес-правила рентной схемы библиотечной книги позволят арендным платам быть в течение одного месяца, где значение месяца зависит от привилегированной календарной системы пользователя.
Ключевой вариант использования для вычислений в дату в произвольной календарной системе производит месяц за месяцем календарь для дисплея и взаимодействия с пользователем. Снова, это - проблема UI, и использование этого интерфейса исключительно в пределах нескольких методов уровня UI может быть выровнено по ширине.
В любой другой части системы, где датой нужно управлять в календарной системе кроме ISO, вариант использования обычно определит календарную систему, чтобы использовать. Например, приложение, возможно, должно вычислить следующий исламский или еврейский праздник, который может потребовать управления датой. Этот вид варианта использования может быть обработан следующим образом:
LocalDate
будучи переданным к методу LocalDate
Разработчики, пишущие низкоуровневые платформы или библиотеки, должны также избежать этого интерфейса. Вместо этого один из двух интерфейсов доступа общего назначения должен использоваться. Использовать TemporalAccessor
если доступ только для чтения требуется, или использование Temporal
если доступ для чтения-записи требуется.
Дополнительные календарные системы могут быть добавлены к системе. См. Chronology
для большего количества деталей.
Модификатор и Тип | Метод и Описание |
---|---|
default Temporal |
adjustInto(Temporal temporal)
Корректирует указанный временный объект иметь ту же самую дату как этот объект.
|
default ChronoLocalDateTime<D> |
atTime(LocalTime localTime)
Комбинирует эту дату со временем, чтобы создать a
ChronoLocalDateTime . |
default int |
compareTo(ChronoLocalDate<?> other)
Сравнивает эту дату с другой датой, включая хронологию.
|
boolean |
equals(Object obj)
Проверки, если эта дата равна другой дате, включая хронологию.
|
default String |
format(DateTimeFormatter formatter)
Форматы эта дата, используя указанное средство форматирования.
|
static ChronoLocalDate<?> |
from(TemporalAccessor temporal)
Получает экземпляр
ChronoLocalDate от временного объекта. |
Хронология |
getChronology()
Получает хронологию этой даты.
|
default Era |
getEra()
Получает эру, как определено хронологией.
|
int |
hashCode()
Хэш-код для этой даты.
|
default boolean |
isAfter(ChronoLocalDate<?> other)
Проверки, если эта дата после указанной даты, игнорирующей хронологию.
|
default boolean |
isBefore(ChronoLocalDate<?> other)
Проверки, если эта дата перед указанной датой, игнорирующей хронологию.
|
default boolean |
isEqual(ChronoLocalDate<?> other)
Проверки, если эта дата равна указанной дате, игнорирующей хронологию.
|
default boolean |
isLeapYear()
Проверки, если год является високосным годом, как определено по календарю система.
|
default boolean |
isSupported(TemporalField field)
Проверки, если указанное поле поддерживается.
|
int |
lengthOfMonth()
Возвращает продолжительность месяца, представленного этой датой, как определено по календарю система.
|
default int |
lengthOfYear()
Возвращает продолжительность года, представленного этой датой, как определено по календарю система.
|
default D |
minus(long amountToSubtract, TemporalUnit unit)
Возвращает объект того же самого типа как этот объект с вычтенным установленным периодом.
|
default D |
minus(TemporalAmount amount)
Возвращает объект того же самого типа как этот объект с вычтенным количеством.
|
Период |
periodUntil(ChronoLocalDate<?> endDate)
Вычисляет период между этой датой и другой датой как a
Period . |
long |
periodUntil(Temporal endDate, TemporalUnit unit)
Вычисляет количество времени до другой даты с точки зрения указанного модуля.
|
default D |
plus(long amountToAdd, TemporalUnit unit)
Возвращает объект того же самого типа как этот объект с добавленным установленным периодом.
|
default D |
plus(TemporalAmount amount)
Возвращает объект того же самого типа как этот объект с добавленным количеством.
|
default <R> R |
query(TemporalQuery<R> query)
Запросы эта дата, используя указанный запрос.
|
static Comparator<ChronoLocalDate<?>> |
timeLineOrder()
Получает компаратор, который сравнивается
ChronoLocalDate в порядке временной шкалы, игнорирующем хронологию. |
default long |
toEpochDay()
Преобразовывает эту дату в День Эпохи.
|
Строка |
toString()
Выводит эту дату как a
String . |
default D |
with(TemporalAdjuster adjuster)
Возвращает скорректированный объект того же самого типа как этот объект с внесенной корректировкой.
|
default D |
with(TemporalField field, long newValue)
Возвращает объект того же самого типа как этот объект с указанным измененным полем.
|
get, getLong, range
dayOfWeekInMonth, firstDayOfMonth, firstDayOfNextMonth, firstDayOfNextYear, firstDayOfYear, firstInMonth, lastDayOfMonth, lastDayOfYear, lastInMonth, next, nextOrSame, ofDateAdjuster, previous, previousOrSame
static Comparator<ChronoLocalDate<?>> timeLineOrder()
ChronoLocalDate
в порядке временной шкалы, игнорирующем хронологию. Этот компаратор отличается от сравнения в compareTo(java.time.chrono.ChronoLocalDate<?>)
в этом это только сравнивает базовую дату а не хронологию. Это позволяет датам в различных календарных системах быть сравненными основанные на позиции даты на локальной временной шкале. Базовое сравнение эквивалентно сравнению дневного эпохой.
isAfter(java.time.chrono.ChronoLocalDate<?>)
, isBefore(java.time.chrono.ChronoLocalDate<?>)
, isEqual(java.time.chrono.ChronoLocalDate<?>)
static ChronoLocalDate<?> from(TemporalAccessor temporal)
ChronoLocalDate
от временного объекта. Это получает локальную дату, основанную на указанном временном. A TemporalAccessor
представляет произвольный набор даты и информации времени, из которой эта фабрика преобразовывает в экземпляр ChronoLocalDate
.
Преобразование извлекает и комбинирует хронологию и дату от временного объекта. Поведение эквивалентно использованию Chronology.date(TemporalAccessor)
с извлеченной хронологией. Реализациям разрешают выполнить оптимизацию, такую как доступ к тем полям, которые эквивалентны соответствующим объектам.
Этот метод соответствует подпись функционального интерфейса TemporalQuery
разрешение этого использоваться в качестве запроса через ссылку метода, ChronoLocalDate::from
.
temporal
- временный объект преобразовать, не нульDateTimeException
- если неспособный преобразовать в a ChronoLocalDate
Chronology.date(TemporalAccessor)
Chronology getChronology()
Chronology
представляет календарную систему в использовании. Эра и другие поля в ChronoField
определяются хронологией.
default Era getEra()
Эра является, концептуально, крупнейшим подразделением временной шкалы. У большинства календарных систем есть единственная эпоха, делящая временную шкалу на две эры. Однако, у некоторых есть многократные эры, такой как один для господства каждого лидера. Точное значение определяется Chronology
.
Все правильно реализованные Era
классы являются одиночными элементами, таким образом это - допустимый код, чтобы записать date.getEra() == SomeChrono.ERA_NAME)
.
Эта реализация по умолчанию использование Chronology.eraOf(int)
.
default boolean isLeapYear()
Високосный год является годом более длительной длины чем нормальный. Точное значение решается хронологией с ограничением, чтобы високосный год подразумевал длиной до года дольше чем не високосный год.
Эта реализация по умолчанию использование Chronology.isLeapYear(long)
.
int lengthOfMonth()
Это возвращает продолжительность месяца в днях.
default int lengthOfYear()
Это возвращает продолжительность года в днях.
Использование реализации по умолчанию isLeapYear()
и возвраты 365 или 366.
default boolean isSupported(TemporalField field)
TemporalAccessor
Это проверяет, может ли разовое датой быть запрошено для указанного поля. Если ложь, то вызов range
и get
методы выдадут исключение.
isSupported
в интерфейсе TemporalAccessor
field
- поле, чтобы проверить, обнулите, возвращает falsedefault D with(TemporalAdjuster adjuster)
Это корректирует это разовое датой согласно правилам указанного регулятора. Простой регулятор мог бы просто установить то из полей, таких как поле года. Более сложный регулятор мог бы назначить дату к прошлому дню месяца. В выборе общих корректировок обеспечивают TemporalAdjuster
. Они включают обнаружение "в последний день месяца" и "следующей среды". Регулятор ответственен за обработку особых случаев, таких как переменные продолжительности месяца и високосных годов.
Некоторый пример кода, указывающий, как и почему этот метод используется:
date = date.with(Month.JULY); // most key classes implement TemporalAdjuster date = date.with(lastDayOfMonth()); // static import from Adjusters date = date.with(next(WEDNESDAY)); // static import from Adjusters and DayOfWeek
with
в интерфейсе Temporal
adjuster
- регулятор, чтобы использовать, не нульDateTimeException
- если неспособный вносить корректировкуArithmeticException
- если числовое переполнение происходитdefault D with(TemporalField field, long newValue)
Это возвращает новое основанное на объектах на этом со значением для указанного измененного поля. Например, на a LocalDate
, это могло использоваться, чтобы установить год, месяц или день-месячного. У возвращенного объекта будет тот же самый заметный тип как этот объект.
В некоторых случаях изменение поля не полностью определяется. Например, если целевой объект является датой, представляющей 31-ого января, то изменение месяца до февраля было бы неясно. В случаях как это поле ответственно за разрешение результата. Обычно это выберет предыдущую допустимую дату, которая была бы прошлым допустимым днем февраля в этом примере.
with
в интерфейсе Temporal
field
- поле, чтобы установить в результате, не нулеnewValue
- новое значение поля в результатеDateTimeException
- если поле не может быть установленоUnsupportedTemporalTypeException
- если поле не поддерживаетсяArithmeticException
- если числовое переполнение происходитdefault D plus(TemporalAmount amount)
Это корректирует это временное, добавляя согласно правилам указанного количества. Количество обычно a Period
но может быть любой другой тип, реализовывая TemporalAmount
интерфейс, такой как Duration
.
Некоторый пример кода, указывающий, как и почему этот метод используется:
date = date.plus(period); // add a Period instance date = date.plus(duration); // add a Duration instance date = date.plus(workingDays(6)); // example user-written workingDays method
Отметьте тот вызов plus
сопровождаемый minus
как гарантируют, не возвратит разовое датой то же самое.
plus
в интерфейсе Temporal
amount
- количество, чтобы добавить, не нульDateTimeException
- если дополнение не может быть сделаноArithmeticException
- если числовое переполнение происходитdefault D plus(long amountToAdd, TemporalUnit unit)
Этот метод возвращает новое основанное на объектах на этом с добавленным установленным периодом. Например, на a LocalDate
, это могло использоваться, чтобы добавить много лет, месяцев или дней. У возвращенного объекта будет тот же самый заметный тип как этот объект.
В некоторых случаях изменение поля не полностью определяется. Например, если бы целевой объект является датой, представляющей 31-ого января, то добавление одного месяца было бы неясно. В случаях как это поле ответственно за разрешение результата. Обычно это выберет предыдущую допустимую дату, которая была бы прошлым допустимым днем февраля в этом примере.
plus
в интерфейсе Temporal
amountToAdd
- количество указанного модуля, чтобы добавить, может быть отрицательнымunit
- модуль периода, чтобы добавить, не нульDateTimeException
- если модуль не может быть добавленArithmeticException
- если числовое переполнение происходитdefault D minus(TemporalAmount amount)
Это корректирует это временное, вычитая согласно правилам указанного количества. Количество обычно a Period
но может быть любой другой тип, реализовывая TemporalAmount
интерфейс, такой как Duration
.
Некоторый пример кода, указывающий, как и почему этот метод используется:
date = date.minus(period); // subtract a Period instance date = date.minus(duration); // subtract a Duration instance date = date.minus(workingDays(6)); // example user-written workingDays method
Отметьте тот вызов plus
сопровождаемый minus
как гарантируют, не возвратит разовое датой то же самое.
minus
в интерфейсе Temporal
amount
- количество, чтобы вычесть, не нульDateTimeException
- если вычитание не может быть сделаноArithmeticException
- если числовое переполнение происходитdefault D minus(long amountToSubtract, TemporalUnit unit)
Этот метод возвращает новое основанное на объектах на этом с вычтенным установленным периодом. Например, на a LocalDate
, это могло использоваться, чтобы вычесть много лет, месяцев или дней. У возвращенного объекта будет тот же самый заметный тип как этот объект.
В некоторых случаях изменение поля не полностью определяется. Например, если бы целевой объект является датой, представляющей 31-ого марта, то вычитание одного месяца было бы неясно. В случаях как это поле ответственно за разрешение результата. Обычно это выберет предыдущую допустимую дату, которая была бы прошлым допустимым днем февраля в этом примере.
minus
в интерфейсе Temporal
amountToSubtract
- количество указанного модуля, чтобы вычесть, может быть отрицательнымunit
- модуль периода, чтобы вычесть, не нульDateTimeException
- если модуль не может быть вычтенUnsupportedTemporalTypeException
- если модуль не поддерживаетсяArithmeticException
- если числовое переполнение происходитdefault <R> R query(TemporalQuery<R> query)
Это запрашивает эту дату, используя указанный объект стратегии запроса. TemporalQuery
объект определяет логику, которая будет использоваться, чтобы получить результат. Считайте документацию запроса, чтобы понять, каков результат этого метода будет.
Результат этого метода получается, вызывая TemporalQuery.queryFrom(TemporalAccessor)
метод на указанной передаче запроса this
как параметр.
query
в интерфейсе TemporalAccessor
R
- тип результатаquery
- запрос, чтобы вызвать, не нульDateTimeException
- если неспособный запрашивать (определенный запросом)ArithmeticException
- если числовое переполнение происходит (определенный запросом)default Temporal adjustInto(Temporal temporal)
Это возвращает временный объект того же самого заметного типа как ввод с датой, измененной, чтобы быть тем же самым как этим.
Корректировка эквивалентна использованию Temporal.with(TemporalField, long)
передача ChronoField.EPOCH_DAY
как поле.
В большинстве случаев это является более четким, чтобы инвертировать образец вызова при использовании Temporal.with(TemporalAdjuster)
:
// these two lines are equivalent, but the second approach is recommended temporal = thisLocalDate.adjustInto(temporal); temporal = temporal.with(thisLocalDate);
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
adjustInto
в интерфейсе TemporalAdjuster
temporal
- целевой объект, который будет скорректирован, не нульDateTimeException
- если неспособный вносить корректировкуArithmeticException
- если числовое переполнение происходитlong periodUntil(Temporal endDate, TemporalUnit unit)
Это вычисляет количество времени между два ChronoLocalDate
объекты с точки зрения сингла TemporalUnit
. Запуск и конечные точки this
и указанная дата. Результат будет отрицателен, если конец будет перед запуском. Temporal
переданный к этому методу должен быть a ChronoLocalDate
в той же самой хронологии. Вычисление возвращает целое число, представляя число полных модулей между этими двумя датами. Например, количество в днях между двумя датами может быть вычислено, используя startDate.periodUntil(endDate, DAYS)
.
Есть два эквивалентных способа использовать этот метод. Первое должно вызвать этот метод. Второе должно использовать TemporalUnit.between(Temporal, Temporal)
:
// these two lines are equivalent amount = start.periodUntil(end, MONTHS); amount = MONTHS.between(start, end);Выбор должен быть сделан основанный, которого делает код более читаемым.
Вычисление реализуется в этом методе для ChronoUnit
. Модули DAYS
, WEEKS
, MONTHS
, YEARS
, DECADES
, CENTURIES
, MILLENNIA
и ERAS
должен поддерживаться всеми реализациями. Другой ChronoUnit
значения выдадут исключение.
Если модуль не является a ChronoUnit
, тогда результат этого метода получается, вызывая TemporalUnit.between(Temporal, Temporal)
передача this
как первый параметр и ввод, временный как второй параметр.
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
periodUntil
в интерфейсе Temporal
endDate
- дата окончания, которая должна быть a ChronoLocalDate
в той же самой хронологии, не нулеunit
- модуль, чтобы измерить количество в, не нульDateTimeException
- если количество не может быть вычисленоArithmeticException
- если числовое переполнение происходитPeriod periodUntil(ChronoLocalDate<?> endDate)
Period
. Это вычисляет период между двумя датами с точки зрения лет, месяцев и дней. Запуск и конечные точки this
и указанная дата. Результат будет отрицателен, если конец будет перед запуском. Знак минус будет тем же самым в каждом годе, месяце и дне.
Вычисление выполняется, используя хронологию этой даты. В случае необходимости входная дата будет преобразована в соответствие.
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
endDate
- дата окончания, монопольная, который может быть в любой хронологии, не нулеDateTimeException
- если период не может быть вычисленArithmeticException
- если числовое переполнение происходитdefault String format(DateTimeFormatter formatter)
Эту дату передадут к средству форматирования, чтобы произвести строку.
Реализация по умолчанию должна вести себя следующим образом:
return formatter.format(this);
formatter
- средство форматирования, чтобы использовать, не нульDateTimeException
- если ошибка происходит во время печатиdefault ChronoLocalDateTime<D> atTime(LocalTime localTime)
ChronoLocalDateTime
. Это возвращает a ChronoLocalDateTime
сформированный из этой даты в требуемое время. Все возможные комбинации даты и время допустимы.
localTime
- местное время, чтобы использовать, не нульdefault long toEpochDay()
Epoch Day count
простое количество постепенного увеличения дней, где день 0 01.01.1970 (ISO). Это определение является тем же самым для всех хронологий, включая преобразованию.
Эта реализация по умолчанию запрашивает EPOCH_DAY
поле.
default int compareTo(ChronoLocalDate<?> other)
Сравнение базируется сначала на базовой дате временной шкалы, затем на хронологии. Это является "непротиворечивым с, равняется", как определено Comparable
.
Например, следующее является порядком компаратора:
2012-12-03 (ISO)
2012-12-04 (ISO)
2555-12-04 (ThaiBuddhist)
2012-12-05 (ISO)
Если все сравниваемые объекты даты находятся в той же самой хронологии, то дополнительный этап хронологии не требуется, и только локальная дата используется. Сравнить даты два TemporalAccessor
экземпляры, включая даты в двух различных хронологиях, используют ChronoField.EPOCH_DAY
как компаратор.
Эта реализация по умолчанию выполняет сравнение, определенное выше.
compareTo
в интерфейсе Comparable<ChronoLocalDate<?>>
other
- другая дата, чтобы сравнить с, не нульdefault boolean isAfter(ChronoLocalDate<?> other)
Этот метод отличается от сравнения в compareTo(java.time.chrono.ChronoLocalDate<?>)
в этом это только сравнивает базовую дату а не хронологию. Это позволяет датам в различных календарных системах быть сравненными основанные на позиции временной шкалы. Это эквивалентно использованию date1.toEpochDay() > date2.toEpochDay()
.
Эта реализация по умолчанию выполняет сравнение, основанное на дневном эпохой.
other
- другая дата, чтобы сравнить с, не нульdefault boolean isBefore(ChronoLocalDate<?> other)
Этот метод отличается от сравнения в compareTo(java.time.chrono.ChronoLocalDate<?>)
в этом это только сравнивает базовую дату а не хронологию. Это позволяет датам в различных календарных системах быть сравненными основанные на позиции временной шкалы. Это эквивалентно использованию date1.toEpochDay() < date2.toEpochDay()
.
Эта реализация по умолчанию выполняет сравнение, основанное на дневном эпохой.
other
- другая дата, чтобы сравнить с, не нульdefault boolean isEqual(ChronoLocalDate<?> other)
Этот метод отличается от сравнения в compareTo(java.time.chrono.ChronoLocalDate<?>)
в этом это только сравнивает базовую дату а не хронологию. Это позволяет датам в различных календарных системах быть сравненными основанные на позиции временной шкалы. Это эквивалентно использованию date1.toEpochDay() == date2.toEpochDay()
.
Эта реализация по умолчанию выполняет сравнение, основанное на дневном эпохой.
other
- другая дата, чтобы сравнить с, не нульboolean equals(Object obj)
Сравнивает эту дату с другим обеспечением, что дата и хронология являются тем же самым.
Сравнить даты два TemporalAccessor
экземпляры, включая даты в двух различных хронологиях, используют ChronoField.EPOCH_DAY
как компаратор.
equals
в class Object
obj
- объект проверить, обнулите, возвращает falseObject.hashCode()
, HashMap
int hashCode()
hashCode
в class Object
Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92