Guava
Recipes for migrating from Google Guava to Java standard library.
Composite Recipes
Recipes that include further recipes, often including the individual recipes below.
- Prefer
Integer#compareUnsigned - Prefer
Integer#divideUnsigned - Prefer
Integer#remainderUnsigned - Prefer
Long#compareUnsigned - Prefer
Long#divideUnsigned - Prefer
Long#remainderUnsigned - Prefer
Math#addExact - Prefer
Math#clamp - Prefer
Math#multiplyExact - Prefer
Math#subtractExact - Prefer
java.util.Objects#equals - Prefer
java.util.Objects#hash - Prefer
java.util.Objects#requireNonNullElse - Prefer
java.util.Optional - Prefer
java.util.function.Predicate - Prefer
new ArrayList<>() - Prefer
new CopyOnWriteArrayList<>() - Prefer
new HashMap<>() - Prefer
new LinkedHashMap<>() - Prefer
new LinkedHashSet<>() - Prefer
new LinkedList<>() - Prefer
new TreeMap<>() - Prefer the Java 11 standard library instead of Guava
- Prefer the Java 21 standard library instead of Guava
- Prefer the Java standard library instead of Guava
- Refaster style Guava to Java migration recipes
Recipes
- Change Guava's
Predicateintojava.util.function.Predicatewhere possible - Prefer
A.class::isInstance - Prefer
Arrays.asList(..)over Guava primitives - Prefer
Character#compare - Prefer
Collection.stream().allMatch(Predicate) - Prefer
Collection.stream().allMatch(Predicate) - Prefer
Collection.stream().anyMatch(Predicate) - Prefer
Collection.stream().filter(Predicate) - Prefer
Collection.stream().map(Function)overCollections2.transform - Prefer
Collection.stream().map(Function)overCollections2.transform - Prefer
Collection.stream().map(Function)overIterables.transform - Prefer
Collections.newSetFromMap(new ConcurrentHashMap<>()) - Prefer
Collections.newSetFromMap(new ConcurrentHashMap<>()) - Prefer
Files#createTempDirectory() - Prefer
Function.compose(Function) - Prefer
Integer#compare - Prefer
Integer#parseUnsignedInt - Prefer JDK methods for Maps and Sets of an expected size
- Prefer
List.copyOf(..)in Java 10 or higher - Prefer
List.of(..)in Java 9 or higher - Prefer
Long#compare - Prefer
Long#parseUnsignedLong - Prefer
Map.copyOf(..)in Java 10 or higher - Prefer
Map.of(..)in Java 9 or higher - Prefer
Optional.stream().collect(Collectors.toSet()) - Prefer
Predicate.and(Predicate) - Prefer
Predicate.isEqual(Object) - Prefer
Runnable::run - Prefer
Set.copyOf(..)in Java 10 or higher - Prefer
Set.of(..)in Java 9 or higher - Prefer
Short#compare - Prefer
String#join()over GuavaJoiner#join() - Prefer
java.nio.charset.StandardCharsets - Prefer
java.util.Collections#synchronizedNavigableMap - Prefer
java.util.Collections#unmodifiableNavigableMap - Prefer
java.util.Optional#or(Supplier<? extends Optional<? extends T>>) - Prefer
java.util.Optional#orElse(null)overcom.google.common.base.Optional#orNull() - Prefer
java.util.function.Function - Prefer
java.util.function.Supplier - Prefer
new ArrayList<>() - Prefer
new ArrayList<>(Collection) - Prefer
new ArrayList<>(int) - Prefer
new CopyOnWriteArrayList<>() - Prefer
new CopyOnWriteArrayList<>(Collection) - Prefer
new HashMap<>() - Prefer
new HashMap<>(Map) - Prefer
new HashSet<>() - Prefer
new LinkedHashMap<>() - Prefer
new LinkedHashMap<>(Map) - Prefer
new LinkedHashSet<>() - Prefer
new LinkedHashSet<>(Collection) - Prefer
new LinkedHashSet<>(int) - Prefer
new LinkedList<>() - Prefer
new LinkedList<>(Collection) - Prefer
new TreeMap<>() - Prefer
new TreeMap<>(Comparator) - Prefer
new TreeMap<>(SortedMap) - Remove
com.google.common.base.Optional#toJavaUtil() - Replace
Preconditions.checkNotNulltaking aStringmessage withObjects.requireNonNull - Replace
Preconditions.checkNotNulltaking anObjectmessage withObjects.requireNonNullandString.valueOf - Replace
Preconditions.checkNotNullwithObjects.requireNonNull - Replace
com.google.common.base.Optional#fromJavaUtil(java.util.Optional)with argument