Класс Objects
public final class Objects extends Object
static служебных методов для работы с объектами или проверки определённых условий перед выполнением операции. К ним относятся методы, безопасные при null или устойчивые к null, для вычисления хеш-кода объекта, получения строкового представления объекта, сравнения двух объектов и проверки выхода индексов или значений поддиапазона за границы.- Начиная с:
- 1.7
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static int |
checkFromIndexSize |
Проверяет, находится ли поддиапазон от fromIndex (включительно) до fromIndex + size (исключительно) в пределах диапазона от 0 (включительно) до length (исключительно). |
static long |
checkFromIndexSize |
Проверяет, находится ли поддиапазон от fromIndex (включительно) до fromIndex + size (исключительно) в пределах диапазона от 0 (включительно) до length (исключительно). |
static int |
checkFromToIndex |
Проверяет, находится ли поддиапазон от fromIndex (включительно) до toIndex (исключительно) в пределах диапазона от 0 (включительно) до length (исключительно). |
static long |
checkFromToIndex |
Проверяет, находится ли поддиапазон от fromIndex (включительно) до toIndex (исключительно) в пределах диапазона от 0 (включительно) до length (исключительно). |
static int |
checkIndex |
Проверяет, находится ли index в пределах диапазона от 0 (включительно) до length (исключительно). |
static long |
checkIndex |
Проверяет, находится ли index в пределах диапазона от 0 (включительно) до length (исключительно). |
static <T> int |
compare |
Возвращает 0, если аргументы идентичны, и
c.compare(a, b) в противном случае. |
static boolean |
deepEquals |
Возвращает true, если аргументы глубоко равны друг другу, и false в противном случае. |
static boolean |
equals |
Возвращает true, если аргументы равны друг другу, и false в противном случае. |
static int |
hash |
Возвращает хеш-код последовательности входных значений. |
static int |
hashCode |
Возвращает хеш-код аргумента, не равного null, и 0 для аргумента, равного null. |
static boolean |
isNull |
Возвращает true, если переданная ссылка равна
null; в противном случае возвращает false. |
static boolean |
nonNull |
Возвращает true, если переданная ссылка не равна null; в противном случае возвращает false. |
static <T> T |
requireNonNull |
Проверяет, что указанная ссылка на объект не равна null. |
static <T> T |
requireNonNull |
Проверяет, что указанная ссылка на объект не равна null, и выбрасывает исключение NullPointerException с настраиваемым сообщением, если это не так. |
static <T> T |
requireNonNull |
Проверяет, что указанная ссылка на объект не равна null, и выбрасывает исключение NullPointerException с настраиваемым сообщением, если это не так. |
static <T> T |
requireNonNullElse |
Возвращает первый аргумент, если он не равен null, а в противном случае — второй аргумент, если он не равен null. |
static <T> T |
requireNonNullElseGet |
Возвращает первый аргумент, если он не равен null, а в противном случае — значение из supplier.get(), если оно не равно null. |
static String |
toIdentityString |
Возвращает строку, эквивалентную строке, возвращаемой методом
Object.toString, если этот метод и hashCode не переопределены. |
static String |
toString |
Возвращает результат вызова toString для аргумента, не равного null, и "null" для аргумента, равного null. |
static String |
toString |
Возвращает результат вызова toString для первого аргумента, если первый аргумент не равен null, и для второго аргумента в противном случае. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли этот объект какому-либо другому объекту. |
protected void |
finalize() |
Устарело, планируется удаление: этот элемент API может быть удалён в будущей версии. Финализация устарела и может быть удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает значение хеш-кода этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания, либо до истечения определённого промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания, либо до истечения определённого промежутка реального времени. |
Подробное описание методов
equals
public static boolean equals(Object a, Object b)
true, если аргументы равны друг другу, и false в противном случае. Следовательно, если оба аргумента равны null, возвращается true. В противном случае, если первый аргумент не равен
null, равенство определяется вызовом метода equals первого аргумента со вторым аргументом этого метода. В противном случае возвращается false.- Параметры:
-
a— объект -
b— объект для сравнения сaна равенство - Возвращает:
-
true, если аргументы равны друг другу, иfalseв противном случае - См. также:
deepEquals
public static boolean deepEquals(Object a, Object b)
true, если аргументы глубоко равны друг другу, и false в противном случае. Два значения null глубоко равны. Если оба аргумента являются массивами, для определения равенства используется алгоритм из Arrays.deepEquals. В противном случае равенство определяется с помощью метода equals первого аргумента.- Параметры:
-
a— объект -
b— объект для сравнения сaна глубокое равенство - Возвращает:
-
true, если аргументы глубоко равны друг другу, иfalseв противном случае - См. также:
hashCode
public static int hashCode(Object o)
null, и 0 для аргумента null.- Параметры:
-
o— объект - Возвращает:
- хеш-код аргумента, отличного от
null, и 0 для аргументаnull - См. также:
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— значения для вычисления хеш-кода - Возвращает:
- хеш-код последовательности входных значений
- См. также:
toString
public static String toString(Object o)
toString для аргумента, отличного от null, и "null" для аргумента null.- Параметры:
-
o— объект - Возвращает:
- результат вызова
toStringдля аргумента, отличного отnull, и"null"для аргументаnull - См. также:
toString
public static String toString(Object o, String nullDefault)
toString для первого аргумента, если первый аргумент не равен null, и второй аргумент в противном случае.- Параметры:
-
o— объект -
nullDefault— строка, возвращаемая, если первый аргумент равенnull - Возвращает:
- результат вызова
toStringдля первого аргумента, если первый аргумент не равенnull, и второй аргумент в противном случае - См. также:
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
- См. также:
compare
public static <T> int compare(T a, T b, Comparator<? super T> c)
c.compare(a, b) в противном случае. Следовательно, если оба аргумента равны null, возвращается 0. Обратите внимание: если один из аргументов равен null, может быть выброшено или не выброшено исключение
NullPointerException — это зависит от политики упорядочения, выбранной Comparator для значений null.
- Параметры типа:
T— тип сравниваемых объектов- Параметры:
-
a— объект -
b— объект для сравнения сa -
c—Comparatorдля сравнения первых двух аргументов - Возвращает:
- 0, если аргументы идентичны, и
c.compare(a, b)в противном случае - См. также:
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
- См. также:
nonNull
public static boolean nonNull(Object obj)
true, если переданная ссылка не равна null; в противном случае — false.- Примечание API:
- Этот метод предназначен для использования в качестве
Predicate,filter(Objects::nonNull) - Параметры:
-
obj— ссылка для проверки на равенствоnull - Возвращает:
-
true, если переданная ссылка не равнаnull; в противном случае —false - Начиная с версии:
- 1.8
- См. также:
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 < 0index >= 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 < 0fromIndex > toIndextoIndex > 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 < 0size < 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 < 0index >= 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 < 0fromIndex > toIndextoIndex > 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 < 0size < 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.