Class Enums


  • @GwtCompatible(emulated=true)
    @Beta
    public final class Enums
    extends java.lang.Object
    Utility methods for working with Enum instances.
    Since:
    9.0
    • Method Summary

      All Methods Static Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      static <T extends java.lang.Enum<T>>
      Optional<T>
      getIfPresent​(java.lang.Class<T> enumClass, java.lang.String value)
      Returns an optional enum constant for the given type, using Enum.valueOf(java.lang.Class<T>, java.lang.String).
      static <T extends java.lang.Enum<T>>
      Converter<java.lang.String,​T>
      stringConverter​(java.lang.Class<T> enumClass)
      Returns a converter that converts between strings and enum values of type enumClass using Enum.valueOf(Class, String) and Enum.name().
      static <T extends java.lang.Enum<T>>
      Function<java.lang.String,​T>
      valueOfFunction​(java.lang.Class<T> enumClass)
      Deprecated.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • valueOfFunction

        @Deprecated
        public static <T extends java.lang.Enum<T>> Function<java.lang.String,​T> valueOfFunction​(java.lang.Class<T> enumClass)
        Deprecated.
        Use stringConverter(java.lang.Class<T>) instead. Note that the string converter has slightly different behavior: it throws IllegalArgumentException if the enum constant does not exist rather than returning null. It also converts null to null rather than throwing NullPointerException. This method is scheduled for removal in Guava 18.0.
        Returns a Function that maps an Enum name to the associated Enum constant. The Function will return null if the Enum constant does not exist.
        Parameters:
        enumClass - the Class of the Enum declaring the constant values
      • getIfPresent

        public static <T extends java.lang.Enum<T>> Optional<T> getIfPresent​(java.lang.Class<T> enumClass,
                                                                             java.lang.String value)
        Returns an optional enum constant for the given type, using Enum.valueOf(java.lang.Class<T>, java.lang.String). If the constant does not exist, Optional.absent() is returned. A common use case is for parsing user input or falling back to a default enum constant. For example, Enums.getIfPresent(Country.class, countryInput).or(Country.DEFAULT);
        Since:
        12.0
      • stringConverter

        public static <T extends java.lang.Enum<T>> Converter<java.lang.String,​T> stringConverter​(java.lang.Class<T> enumClass)
        Returns a converter that converts between strings and enum values of type enumClass using Enum.valueOf(Class, String) and Enum.name(). The converter will throw an IllegalArgumentException if the argument is not the name of any enum constant in the specified enum.
        Since:
        16.0