# guava **Repository Path**: hanbert/guava ## Basic Information - **Project Name**: guava - **Description**: Google core libraries for Java - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2018-08-01 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Guava: Google Core Libraries for Java [![Build Status](https://travis-ci.org/google/guava.svg?branch=master)](https://travis-ci.org/google/guava) [![Maven Central](https://img.shields.io/maven-central/v/com.google.guava/guava.svg)](https://mvnrepository.com/artifact/com.google.guava/guava/latest) Guava is a set of core libraries that includes new collection types (such as multimap and multiset), immutable collections, a graph library, functional types, an in-memory cache, and APIs/utilities for concurrency, I/O, hashing, primitives, reflection, string processing, and much more! Guava comes in two flavors. * The JRE flavor requires JDK 1.8 or higher. * If you need support for JDK 1.7 or Android, use the Android flavor. You can find the Android Guava source in the [`android` directory]. [`android` directory]: https://github.com/google/guava/tree/master/android ## Latest release The most recent release is [Guava 24.1][current release], released 2018-03-14. The Maven group ID is `com.google.guava`, and the artifact ID is `guava`. Use version `24.1-jre` for the JRE flavor, or `24.1-android` for the Android flavor. To add a dependency on Guava using Maven, use the following: ```xml com.google.guava guava 24.1-jre 24.1-android ``` To add a dependency using Gradle: ``` dependencies { compile 'com.google.guava:guava:24.1-jre' // or, for Android: compile 'com.google.guava:guava:24.1-android' } ``` For more about depending on Guava, see [Using Guava in your build]. ## Snapshots Snapshots of Guava built from the `master` branch are available through Maven using version `HEAD-jre-SNAPSHOT`, or `HEAD-android-SNAPSHOT` for the Android flavor. - Snapshot API Docs: [guava][guava-snapshot-api-docs] - Snapshot API Diffs: [guava][guava-snapshot-api-diffs] ## Learn about Guava - Our users' guide, [Guava Explained] - [A nice collection](http://www.tfnico.com/presentations/google-guava) of other helpful links ## Links - [GitHub project](https://github.com/google/guava) - [Issue tracker: Report a defect or feature request](https://github.com/google/guava/issues/new) - [StackOverflow: Ask "how-to" and "why-didn't-it-work" questions](https://stackoverflow.com/questions/ask?tags=guava+java) - [guava-discuss: For open-ended questions and discussion](http://groups.google.com/group/guava-discuss) ## IMPORTANT WARNINGS 1. APIs marked with the `@Beta` annotation at the class or method level are subject to change. They can be modified in any way, or even removed, at any time. If your code is a library itself (i.e. it is used on the CLASSPATH of users outside your own control), you should not use beta APIs, unless you [repackage] them. **If your code is a library, we strongly recommend using the [Guava Beta Checker] to ensure that you do not use any `@Beta` APIs!** 2. APIs without `@Beta` will remain binary-compatible for the indefinite future. (Previously, we sometimes removed such APIs after a deprecation period. The last release to remove non-`@Beta` APIs was Guava 21.0.) Even `@Deprecated` APIs will remain (again, unless they are `@Beta`). We have no plans to start removing things again, but officially, we're leaving our options open in case of surprises (like, say, a serious security problem). 3. Serialized forms of ALL objects are subject to change unless noted otherwise. Do not persist these and assume they can be read by a future version of the library. 4. Our classes are not designed to protect against a malicious caller. You should not use them for communication between trusted and untrusted code. 5. For the mainline flavor, we unit-test the libraries using only OpenJDK 1.8 on Linux. Some features, especially in `com.google.common.io`, may not work correctly in other environments. For the Android flavor, our unit tests run on API level 15 (Ice Cream Sandwich). [current release]: https://github.com/google/guava/releases/tag/v24.1 [guava-snapshot-api-docs]: http://google.github.io/guava/releases/snapshot-jre/api/docs/ [guava-snapshot-api-diffs]: http://google.github.io/guava/releases/snapshot-jre/api/diffs/ [Guava Explained]: https://github.com/google/guava/wiki/Home [Guava Beta Checker]: https://github.com/google/guava-beta-checker [Using Guava in your build]: https://github.com/google/guava/wiki/UseGuavaInYourBuild [repackage]: https://github.com/google/guava/wiki/UseGuavaInYourBuild#what-if-i-want-to-use-beta-apis-from-a-library-that-people-use-as-a-dependency