Spec-Zone.ru › OpenJDK 27

Класс Objects

java.lang.Object
java.util.Objects
public final class Objects extends Object
Этот класс состоит из static служебных методов для работы с объектами или проверки определённых условий перед выполнением операции. К ним относятся методы, безопасные при null или устойчивые к null, для вычисления хеш-кода объекта, получения строкового представления объекта, сравнения двух объектов и проверки выхода индексов или значений поддиапазона за границы.
Начиная с:
1.7

Краткое описание методов

Модификатор и тип Метод Описание
static int checkFromIndexSize(int fromIndex, int size, int length)
Проверяет, находится ли поддиапазон от fromIndex (включительно) до fromIndex + size (исключительно) в пределах диапазона от 0 (включительно) до length (исключительно).
static long checkFromIndexSize(long fromIndex, long size, long length)
Проверяет, находится ли поддиапазон от fromIndex (включительно) до fromIndex + size (исключительно) в пределах диапазона от 0 (включительно) до length (исключительно).
static int checkFromToIndex(int fromIndex, int toIndex, int length)
Проверяет, находится ли поддиапазон от fromIndex (включительно) до toIndex (исключительно) в пределах диапазона от 0 (включительно) до length (исключительно).
static long checkFromToIndex(long fromIndex, long toIndex, long length)
Проверяет, находится ли поддиапазон от fromIndex (включительно) до toIndex (исключительно) в пределах диапазона от 0 (включительно) до length (исключительно).
static int checkIndex(int index, int length)
Проверяет, находится ли index в пределах диапазона от 0 (включительно) до length (исключительно).
static long checkIndex(long index, long length)
Проверяет, находится ли index в пределах диапазона от 0 (включительно) до length (исключительно).
static <T> int compare(T a, T b, Comparator<? super T> c)
Возвращает 0, если аргументы идентичны, и c.compare(a, b) в противном случае.
static boolean deepEquals(Object a, Object b)
Возвращает true, если аргументы глубоко равны друг другу, и false в противном случае.
static boolean equals(Object a, Object b)
Возвращает true, если аргументы равны друг другу, и false в противном случае.
static int hash(Object... values)
Возвращает хеш-код последовательности входных значений.
static int hashCode(Object o)
Возвращает хеш-код аргумента, не равного null, и 0 для аргумента, равного null.
static boolean isNull(Object obj)
Возвращает true, если переданная ссылка равна null; в противном случае возвращает false.
static boolean nonNull(Object obj)
Возвращает true, если переданная ссылка не равна null; в противном случае возвращает false.
static <T> T requireNonNull(T obj)
Проверяет, что указанная ссылка на объект не равна null.
static <T> T requireNonNull(T obj, String message)
Проверяет, что указанная ссылка на объект не равна null, и выбрасывает исключение NullPointerException с настраиваемым сообщением, если это не так.
static <T> T requireNonNull(T obj, Supplier<String> messageSupplier)
Проверяет, что указанная ссылка на объект не равна null, и выбрасывает исключение NullPointerException с настраиваемым сообщением, если это не так.
static <T> T requireNonNullElse(T obj, T defaultObj)
Возвращает первый аргумент, если он не равен null, а в противном случае — второй аргумент, если он не равен null.
static <T> T requireNonNullElseGet(T obj, Supplier<? extends T> supplier)
Возвращает первый аргумент, если он не равен null, а в противном случае — значение из supplier.get(), если оно не равно null.
static String toIdentityString(Object o)
Возвращает строку, эквивалентную строке, возвращаемой методом Object.toString, если этот метод и hashCode не переопределены.
static String toString(Object o)
Возвращает результат вызова toString для аргумента, не равного null, и "null" для аргумента, равного null.
static String toString(Object o, String nullDefault)
Возвращает результат вызова toString для первого аргумента, если первый аргумент не равен null, и для второго аргумента в противном случае.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли этот объект какому-либо другому объекту.
protected void finalize()
Устарело, планируется удаление: этот элемент API может быть удалён в будущей версии.
Финализация устарела и может быть удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает значение хеш-кода этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания, либо до истечения определённого промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания, либо до истечения определённого промежутка реального времени.

Подробное описание методов

equals

public static boolean equals(Object a, Object b)
Возвращает true, если аргументы равны друг другу, и false в противном случае. Следовательно, если оба аргумента равны null, возвращается true. В противном случае, если первый аргумент не равен null, равенство определяется вызовом метода equals первого аргумента со вторым аргументом этого метода. В противном случае возвращается false.
Параметры:
a — объект
b — объект для сравнения с a на равенство
Возвращает:
true, если аргументы равны друг другу, и false в противном случае
См. также:
  • Object.equals(Object)

deepEquals

public static boolean deepEquals(Object a, Object b)
Возвращает true, если аргументы глубоко равны друг другу, и false в противном случае. Два значения null глубоко равны. Если оба аргумента являются массивами, для определения равенства используется алгоритм из Arrays.deepEquals. В противном случае равенство определяется с помощью метода equals первого аргумента.
Параметры:
a — объект
b — объект для сравнения с a на глубокое равенство
Возвращает:
true, если аргументы глубоко равны друг другу, и false в противном случае
См. также:
  • Arrays.deepEquals(Object[], Object[])
  • equals(Object, Object)

hashCode

public static int hashCode(Object o)
Возвращает хеш-код аргумента, отличного от null, и 0 для аргумента null.
Параметры:
o — объект
Возвращает:
хеш-код аргумента, отличного от null, и 0 для аргумента null
См. также:
  • Object.hashCode()

hash

public static int hash(Object... values)
Возвращает хеш-код последовательности входных значений. Хеш-код вычисляется так, как если бы все входные значения были помещены в массив, а хеш-код этого массива был вычислен вызовом Arrays.hashCode(Object[]).

Этот метод удобно использовать при реализации Object.hashCode() для объектов, содержащих несколько полей. Например, для объекта с тремя полями — x, y и z — можно написать:

@Override public int hashCode() {
    return Objects.hash(x, y, z);
}
Предупреждение: если передана ссылка на один объект, возвращаемое значение не совпадает с хеш-кодом этой ссылки. Это значение можно вычислить вызовом hashCode(Object).
Параметры:
values — значения для вычисления хеш-кода
Возвращает:
хеш-код последовательности входных значений
См. также:
  • Arrays.hashCode(Object[])
  • List.hashCode()

toString

public static String toString(Object o)
Возвращает результат вызова toString для аргумента, отличного от null, и "null" для аргумента null.
Параметры:
o — объект
Возвращает:
результат вызова toString для аргумента, отличного от null, и "null" для аргумента null
См. также:
  • Object.toString()
  • String.valueOf(Object)

toString

public static String toString(Object o, String nullDefault)
Возвращает результат вызова toString для первого аргумента, если первый аргумент не равен null, и второй аргумент в противном случае.
Параметры:
o — объект
nullDefault — строка, возвращаемая, если первый аргумент равен null
Возвращает:
результат вызова toString для первого аргумента, если первый аргумент не равен null, и второй аргумент в противном случае
См. также:
  • toString(Object)

toIdentityString

public static String toIdentityString(Object o)
Возвращает строку, эквивалентную строке, возвращаемой методом Object.toString, если этот метод и hashCode не переопределены.
Требования к реализации:
Метод возвращает строку, эквивалентную следующей:
o.getClass().getName() + "@" + Integer.toHexString(System.identityHashCode(o))
Примечание по реализации:
Этот метод формирует строку для объекта, не вызывая переопределяемые методы этого объекта.
Параметры:
o — объект
Возвращает:
строку, эквивалентную строке, возвращаемой методом Object.toString, если этот метод и hashCode не переопределены
Вызывает:
NullPointerException — если аргумент равен null
Начиная с версии:
19
См. также:
  • Object.toString()
  • System.identityHashCode(Object)

compare

public static <T> int compare(T a, T b, Comparator<? super T> c)
Возвращает 0, если аргументы идентичны, и c.compare(a, b) в противном случае. Следовательно, если оба аргумента равны null, возвращается 0.

Обратите внимание: если один из аргументов равен null, может быть выброшено или не выброшено исключение NullPointerException — это зависит от политики упорядочения, выбранной Comparator для значений null.

Параметры типа:
T — тип сравниваемых объектов
Параметры:
a — объект
b — объект для сравнения с a
c — Comparator для сравнения первых двух аргументов
Возвращает:
0, если аргументы идентичны, и c.compare(a, b) в противном случае
См. также:
  • Comparable
  • Comparator

requireNonNull

public static <T> T requireNonNull(T obj)
Проверяет, что указанная ссылка на объект не равна null. Этот метод предназначен главным образом для проверки параметров в методах и конструкторах, как показано ниже:
public Foo(Bar bar) {
    this.bar = Objects.requireNonNull(bar);
}
Параметры типа:
T — тип ссылки
Параметры:
obj — ссылка на объект, которую нужно проверить на равенство null
Возвращает:
obj, если не равен null
Вызывает:
NullPointerException — если obj равен null

requireNonNull

public static <T> T requireNonNull(T obj, String message)
Проверяет, что указанная ссылка на объект не равна null, и выбрасывает настроенное исключение NullPointerException, если это не так. Этот метод предназначен главным образом для проверки параметров в методах и конструкторах с несколькими параметрами, как показано ниже:
public Foo(Bar bar, Baz baz) {
    this.bar = Objects.requireNonNull(bar, "bar must not be null");
    this.baz = Objects.requireNonNull(baz, "baz must not be null");
}
Параметры типа:
T — тип ссылки
Параметры:
obj — ссылка на объект, которую нужно проверить на равенство null
message — подробное сообщение, используемое в случае выбрасывания исключения NullPointerException
Возвращает:
obj, если не равен null
Вызывает:
NullPointerException — если obj равен null

isNull

public static boolean isNull(Object obj)
Возвращает true, если переданная ссылка равна null; в противном случае — false.
Примечание API:
Этот метод предназначен для использования в качестве Predicate, filter(Objects::isNull)
Параметры:
obj — ссылка для проверки на равенство null
Возвращает:
true, если переданная ссылка равна null; в противном случае — false
Начиная с версии:
1.8
См. также:
  • Predicate

nonNull

public static boolean nonNull(Object obj)
Возвращает true, если переданная ссылка не равна null; в противном случае — false.
Примечание API:
Этот метод предназначен для использования в качестве Predicate, filter(Objects::nonNull)
Параметры:
obj — ссылка для проверки на равенство null
Возвращает:
true, если переданная ссылка не равна null; в противном случае — false
Начиная с версии:
1.8
См. также:
  • Predicate

requireNonNullElse

public static <T> T requireNonNullElse(T obj, T defaultObj)
Возвращает первый аргумент, если он не равен null, а в противном случае — второй аргумент, если он не равен null.
Параметры типа:
T — тип ссылки
Параметры:
obj — объект
defaultObj — объект, не равный null, который возвращается, если первый аргумент равен null
Возвращает:
первый аргумент, если он не равен null, а в противном случае — второй аргумент, если он не равен null
Вызывает:
NullPointerException — если оба obj равны null и defaultObj равен null
Начиная с версии:
9

requireNonNullElseGet

public static <T> T requireNonNullElseGet(T obj, Supplier<? extends T> supplier)
Возвращает первый аргумент, если он не равен null, а в противном случае — значение из supplier.get(), если оно не равно null.
Параметры типа:
T — тип первого аргумента и возвращаемого значения
Параметры:
obj — объект
supplier — объект, не равный null, возвращаемый, если первый аргумент равен null
Возвращает:
первый аргумент, если он не равен null, а в противном случае — значение из supplier.get(), если оно не равно null
Вызывает:
NullPointerException — если оба obj равны null и либо supplier равен null, либо значение supplier.get() равно null
Начиная с версии:
9

requireNonNull

public static <T> T requireNonNull(T obj, Supplier<String> messageSupplier)
Проверяет, что указанная ссылка на объект не равна null, и выбрасывает настроенное исключение NullPointerException, если это не так.

В отличие от метода requireNonNull(Object, String), этот метод позволяет отложить создание сообщения до завершения проверки на null. Хотя в случае ненулевого значения это может повысить производительность, при выборе этого метода следует убедиться, что затраты на создание поставщика сообщения меньше затрат на непосредственное создание строки сообщения.

Параметры типа:
T — тип ссылки
Параметры:
obj — ссылка на объект, которую нужно проверить на равенство null
messageSupplier — поставщик подробного сообщения, используемого в случае выбрасывания исключения NullPointerException
Возвращает:
obj, если не равен null
Вызывает:
NullPointerException — если obj равен null
Начиная с версии:
1.8

checkIndex

public static int checkIndex(int index, int length)
Проверяет, находится ли index в пределах диапазона от 0 (включительно) до length (не включая).

Считается, что index находится за пределами диапазона, если выполняется хотя бы одно из следующих неравенств:

  • index < 0
  • index >= length
  • length < 0, что следует из предыдущих неравенств
Параметры:
index — индекс
length — верхняя граница диапазона (не включая)
Возвращает:
index, если он находится в пределах диапазона
Вызывает:
IndexOutOfBoundsException — если index находится за пределами диапазона
Начиная с версии:
9

checkFromToIndex

public static int checkFromToIndex(int fromIndex, int toIndex, int length)
Проверяет, находится ли поддиапазон от fromIndex (включительно) до toIndex (не включая) в пределах диапазона от 0 (включительно) до length (не включая).

Считается, что поддиапазон находится за пределами диапазона, если выполняется хотя бы одно из следующих неравенств:

  • fromIndex < 0
  • fromIndex > toIndex
  • toIndex > length
  • length < 0, что следует из предыдущих неравенств
Параметры:
fromIndex — нижняя граница поддиапазона (включительно)
toIndex — верхняя граница поддиапазона (не включая)
length — верхняя граница диапазона (не включая)
Возвращает:
fromIndex, если поддиапазон находится в пределах диапазона
Вызывает:
IndexOutOfBoundsException — если поддиапазон находится за пределами диапазона
Начиная с версии:
9

checkFromIndexSize

public static int checkFromIndexSize(int fromIndex, int size, int length)
Проверяет, находится ли поддиапазон от fromIndex (включительно) до fromIndex + size (не включая) в пределах диапазона от 0 (включительно) до length (не включая).

Считается, что поддиапазон находится за пределами диапазона, если выполняется хотя бы одно из следующих неравенств:

  • fromIndex < 0
  • size < 0
  • fromIndex + size > length с учетом переполнения целого числа
  • length < 0, что следует из предыдущих неравенств
Параметры:
fromIndex — нижняя граница подинтервала (включительно)
size — размер поддиапазона
length — верхняя граница диапазона (не включая)
Возвращает:
fromIndex, если поддиапазон находится в пределах диапазона
Вызывает:
IndexOutOfBoundsException — если поддиапазон находится за пределами диапазона
Начиная с версии:
9

checkIndex

public static long checkIndex(long index, long length)
Проверяет, находится ли index в пределах диапазона от 0 (включительно) до length (не включая).

Считается, что index находится за пределами диапазона, если выполняется хотя бы одно из следующих неравенств:

  • index < 0
  • index >= length
  • length < 0, что следует из предыдущих неравенств
Параметры:
index — индекс
length — верхняя граница диапазона (не включая)
Возвращает:
index, если он находится в пределах диапазона
Вызывает:
IndexOutOfBoundsException — если index находится за пределами диапазона
Начиная с версии:
16

checkFromToIndex

public static long checkFromToIndex(long fromIndex, long toIndex, long length)
Проверяет, находится ли поддиапазон от fromIndex (включительно) до toIndex (не включая) в пределах диапазона от 0 (включительно) до length (не включая).

Считается, что поддиапазон находится за пределами диапазона, если выполняется хотя бы одно из следующих неравенств:

  • fromIndex < 0
  • fromIndex > toIndex
  • toIndex > length
  • length < 0, что следует из предыдущих неравенств
Параметры:
fromIndex — нижняя граница поддиапазона (включительно)
toIndex — верхняя граница поддиапазона (не включая)
length — верхняя граница диапазона (не включая)
Возвращает:
fromIndex, если поддиапазон находится в пределах диапазона
Вызывает:
IndexOutOfBoundsException — если поддиапазон находится за пределами диапазона
Начиная с версии:
16

checkFromIndexSize

public static long checkFromIndexSize(long fromIndex, long size, long length)
Проверяет, находится ли поддиапазон от fromIndex (включительно) до fromIndex + size (не включая) в пределах диапазона от 0 (включительно) до length (не включая).

Считается, что поддиапазон находится за пределами диапазона, если выполняется хотя бы одно из следующих неравенств:

  • fromIndex < 0
  • size < 0
  • fromIndex + size > length с учетом переполнения целого числа
  • length < 0, что следует из предыдущих неравенств
Параметры:
fromIndex — нижняя граница подинтервала (включительно)
size — размер поддиапазона
length — верхняя граница диапазона (не включая)
Возвращает:
fromIndex, если поддиапазон находится в пределах диапазона
Вызывает:
IndexOutOfBoundsException — если поддиапазон находится за пределами диапазона
Начиная с версии:
16

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API