Skip to content
Ben Yu edited this page Aug 17, 2020 · 17 revisions

Welcome to Mug!

Mug is a small complementary library to Guava.

We expect you to use Guava already and then Mug may fill in some blanks.

While Guava is a lot more versatile and portable, Mug focuses on JDK 8+ (streams, optionals), and for JVM only. It doesn't compile for Java 7, and there is no guaranteed compatibility with other platforms like Android, or GWT.

Mug doesn't provide API stability guarantee as strongly as Guava, where non-Beta APIs are frozen and cannot change. Mug APIs may be deprecated as we see fit. In other words, all Mug APIs are implicitly @Beta.

We try to avoid reinventing wheels. If a utility is provided in Guava, you'll unlikely find it in Mug (with the exception of Walker, which offers a Stream-centric API similar to Guava's Iterable-based Traveser, and some extra functionalities).

Eventually some of these classes may graduate into Guava (like BiStream), in which case, we'll start deprecating them from Mug.