Spec-Zone.ru › OpenJDK 21

Класс 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, и в противном случае возвращает не-null значение supplier.get().
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 Note:
Этот метод предназначен для использования в качестве Predicate, filter(Objects::nonNull).
Parameters:
obj - ссылка, которая должна быть проверена на null
Returns:
true если переданная ссылка не null, в противном случае false
Since:
1.8
See Also:
  • Predicate

requireNonNullElse

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

requireNonNullElseGet

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

requireNonNull

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

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

Type Parameters:
T - тип ссылки
Parameters:
obj - ссылка на объект для проверки на null
messageSupplier - поставщик подробного сообщения, используемого в случае выброса исключения NullPointerException
Returns:
obj если не null
Throws:
NullPointerException - если obj является null
Since:
1.8

checkIndex

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

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

  • index < 0
  • index >= length
  • length < 0, что подразумевается из предыдущих неравенств
Parameters:
index - индекс
length - верхняя граница (исключительно) диапазона
Returns:
index если она находится в пределах диапазона
Throws:
IndexOutOfBoundsException - если index находится вне границ
Since:
9

checkFromToIndex

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

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

  • fromIndex < 0
  • fromIndex > toIndex
  • toIndex > length
  • length < 0, что подразумевается из предыдущих неравенств
Parameters:
fromIndex - нижняя граница (включительно) поддиапазона
toIndex - верхняя граница (исключительно) поддиапазона
length - верхняя граница (исключительно) диапазона
Returns:
fromIndex если поддиапазон находится в пределах диапазона
Throws:
IndexOutOfBoundsException - если поддиапазон находится вне границ
Since:
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, что подразумевается из предыдущих неравенств
Parameters:
fromIndex - нижняя граница (включительно) поддиапазона
size - размер поддиапазона
length - верхняя граница (исключительно) диапазона
Returns:
fromIndex если поддиапазон находится в пределах диапазона
Throws:
IndexOutOfBoundsException - если поддиапазон находится вне границ
Since:
9

checkIndex

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

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

  • index < 0
  • index >= length
  • length < 0, что подразумевается из предыдущих неравенств
Parameters:
index - индекс
length - верхняя граница (исключительно) диапазона
Returns:
index если она находится в пределах диапазона
Throws:
IndexOutOfBoundsException - если index находится вне границ
Since:
16

checkFromToIndex

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

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

  • fromIndex < 0
  • fromIndex > toIndex
  • toIndex > length
  • length < 0, что подразумевается из предыдущих неравенств
Parameters:
fromIndex - нижняя граница (включительно) поддиапазона
toIndex - верхняя граница (исключительно) поддиапазона
length - верхняя граница (исключительно) диапазона
Returns:
fromIndex если поддиапазон находится в пределах диапазона
Throws:
IndexOutOfBoundsException - если поддиапазон находится вне границ
Since:
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, что подразумевается из предыдущих неравенств
Parameters:
fromIndex - нижняя граница (включительно) поддиапазона
size - размер поддиапазона
length - верхняя граница (исключительно) диапазона
Returns:
fromIndex если поддиапазон находится в пределах диапазона
Throws:
IndexOutOfBoundsException - если поддиапазон находится вне границ
Since:
16

© 1993, 2023, 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://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/Objects.html

Spec-Zone.ru

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