Spec-Zone.ru › OpenJDK 24

Класс Объекты

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, и второй аргумент в противном случае.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

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

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. Хотя это может обеспечить преимущество производительности в случае не-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
END_OF_DOCUMENT_MARKER

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

© 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.
https://download.java.net/java/early_access/jdk24/docs/api/java.base/java/util/Objects.html

Spec-Zone.ru

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