Guava: основные библиотеки Google для Java
Guava — это набор основных библиотек Java от Google, включающий новые типы коллекций (такие как мультиотображение и мультимножество), неизменяемые коллекции, библиотеку графов и утилиты для параллелизма, ввода-вывода, хеширования, примитивов, строк и многого другого! Он широко используется в большинстве проектов Java внутри Google и многими другими компаниями.
Guava существует в двух вариантах:
android
].Идентификатор группы Maven для Guava — com.google.guava
, а идентификатор артефакта — guava
. Guava предоставляет два разных «варианта»: один для использования на JRE (Java 8+) и один для использования на Android или любой библиотекой, которая хочет быть совместимой с Android. Эти варианты указаны в поле версии Maven как 33.2.1-jre
или 33.2.1-android
. Подробнее о зависимости от Guava см. [использование Guava в сборке].
Чтобы добавить зависимость от Guava с помощью Maven, используйте следующее:
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>33.2.1-jre</version>
<!-- или, для Android: -->
<version>33.2.1-android</version>
</dependency>
Чтобы добавить зависимость с помощью Gradle:
dependencies {
// Выберите одно из:
// 1. Используйте Guava только в своей реализации:
implementation("com.google.guava:guava:33.2.1-jre")
// 2. Используйте типы Guava в своём публичном API:
api("com.google.guava:guava:33.2.1-jre")
// 3. Android — используйте Guava только в своей реализации:
implementation("com.google.guava:guava:33.2.1-android")
// 4. Android — используйте типы Guava в своём публичном API:
api("com.google.guava:guava:33.2.1-android")
}
Подробнее об использовании api
и implementation
см. в [документации Gradle по разделению API и реализации].
Снимки Guava, созданные из ветки master
, доступны через Maven с использованием версии HEAD-jre-SNAPSHOT
или HEAD-android-SNAPSHOT
для варианта Android.
API, помеченные аннотацией @Beta
на уровне класса или метода, могут быть изменены. Они могут быть модифицированы любым способом или даже удалены в любое время. Если ваш код является библиотекой (т. е. он используется на CLASSPATH пользователей вне вашего контроля), вы не должны использовать бета-API, если вы [не пересоберёте] их. Если ваш код является библиотекой, мы настоятельно рекомендуем использовать Guava Beta Checker, чтобы убедиться, что вы не используете какие-либо API @Beta
!
API без @Beta
... Будет сохранена двоичная совместимость на неопределённое будущее. (Ранее мы иногда удаляли такие API после периода устаревания. Последним релизом, в котором были удалены не-@Beta API, была Guava 21.0.) Даже @Deprecated API останутся (опять же, если они не являются @Beta). У нас нет планов снова начинать удаление чего-либо, но официально мы оставляем наши возможности открытыми на случай неожиданностей (например, серьёзной проблемы с безопасностью).
Guava имеет одну зависимость, которая необходима для связи во время выполнения: com.google.guava:failureaccess:1.0.2. Также у неё есть некоторые зависимости только для аннотаций, которые мы обсуждаем более подробно по этой ссылке.
Сериализованные формы ВСЕХ объектов могут быть изменены, если не указано иное. Не сохраняйте их и не предполагайте, что они могут быть прочитаны будущей версией библиотеки.
Наши классы не предназначены для защиты от злоумышленников. Вы не должны использовать их для коммуникации между доверенным и недоверенным кодом.
Для основного варианта мы тестируем библиотеки, используя OpenJDK 8, 11 и 17 на Linux, с некоторым дополнительным тестированием на более новых JDK и на Windows. Некоторые функции, особенно в com.google.common.io, могут работать неправильно в не-Linux средах. Для Android-версии наши модульные тесты также выполняются на уровне API 21 (Lollipop).
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )