EnumMagic

Run Settings
LanguageJava
Language Version
Run Command
import java.util.Arrays; import java.util.Optional; class EnumMagic { public enum CatBreed { DOMESTIC_SHORTHAIR("Domestic Shorthair"), DOMESTIC_LONGHAIR("Domestic Longhair"), PERSIAN("Persian"), MAINE_COON("Maine Coon"), SIAMESE("Siamese"), AMERICAN_SHORTHAIR("American Shorthair"), ABYSSINIAN("Abyssinian"), EXOTIC_SHORTHAIR("Exotic Shorthair"), RAGDOLL("Ragdoll"), BURMESE("Burmese"), HIMALAYAN("Himalayan"); private final String englishName; private CatBreed(String englishName) { this.englishName = englishName; } public String getEnglishName() { return englishName; } public String toFilename() { return englishName.replaceAll("[^a-zA-Z]", "_").toLowerCase() + ".txt"; } public static Optional<CatBreed> get(String englishName) { return Arrays.stream(CatBreed.values()) .filter(b -> b.englishName.equals(englishName)).findFirst(); } public String toString() { return englishName + " [" + name() + "]: " + toFilename(); } } public static void main(String[] args) { System.out.println("Cat Breeds:"); for (CatBreed breed : CatBreed.values()) { System.out.println(breed); } System.out.println("----"); System.out.println(CatBreed.MAINE_COON); System.out.println(CatBreed.valueOf("AMERICAN_SHORTHAIR")); Optional<CatBreed> exoticShorthair = CatBreed.get("Exotic Shorthair"); System.out.println(exoticShorthair.isPresent() ? exoticShorthair.get() : "Don't know that breed"); } }
Editor Settings
Theme
Key bindings
Full width
Lines