From 5fad914eb9a85af49e43bb32cc2a6f5868ef2b66 Mon Sep 17 00:00:00 2001 From: IfThen2 <57305322+IfThen2@users.noreply.github.com> Date: Thu, 2 Mar 2023 13:15:38 -0700 Subject: [PATCH] enum samples for bael6145 implementing toString() for enums (#13407) * enum samples for bael6145 implementing toString() for enums * updates from code review: FastFood1: return empty string instead of null when no matching enum found FastFood3: make enum name variable final * make member variable private final in FastFoot3 enum remove trailing comma in FastFoot2 enum --- .../com/baeldung/enumtostring/FastFood1.java | 25 ++++++++++++++++ .../com/baeldung/enumtostring/FastFood2.java | 28 ++++++++++++++++++ .../com/baeldung/enumtostring/FastFood3.java | 29 +++++++++++++++++++ 3 files changed, 82 insertions(+) create mode 100644 core-java-modules/core-java-lang-oop-types-2/src/main/java/com/baeldung/enumtostring/FastFood1.java create mode 100644 core-java-modules/core-java-lang-oop-types-2/src/main/java/com/baeldung/enumtostring/FastFood2.java create mode 100644 core-java-modules/core-java-lang-oop-types-2/src/main/java/com/baeldung/enumtostring/FastFood3.java diff --git a/core-java-modules/core-java-lang-oop-types-2/src/main/java/com/baeldung/enumtostring/FastFood1.java b/core-java-modules/core-java-lang-oop-types-2/src/main/java/com/baeldung/enumtostring/FastFood1.java new file mode 100644 index 0000000000..26338fe46c --- /dev/null +++ b/core-java-modules/core-java-lang-oop-types-2/src/main/java/com/baeldung/enumtostring/FastFood1.java @@ -0,0 +1,25 @@ +package com.baeldung.enumtostring; + +public enum FastFood1 { + PIZZA, + BURGER, + TACO, + CHICKEN, + ; + + @Override + public String toString() { + switch (this) { + case PIZZA: + return "Pizza Pie"; + case BURGER: + return "Cheese Burger"; + case TACO: + return "Crunchy Taco"; + case CHICKEN: + return "Fried Chicken"; + default: + return ""; + } + } +} diff --git a/core-java-modules/core-java-lang-oop-types-2/src/main/java/com/baeldung/enumtostring/FastFood2.java b/core-java-modules/core-java-lang-oop-types-2/src/main/java/com/baeldung/enumtostring/FastFood2.java new file mode 100644 index 0000000000..8ca7166dec --- /dev/null +++ b/core-java-modules/core-java-lang-oop-types-2/src/main/java/com/baeldung/enumtostring/FastFood2.java @@ -0,0 +1,28 @@ +package com.baeldung.enumtostring; + +public enum FastFood2 { + PIZZA { + @Override + public String toString() { + return "Pizza Pie"; + } + }, + BURGER { + @Override + public String toString() { + return "Cheese Burger"; + } + }, + TACO { + @Override + public String toString() { + return "Crunchy Taco"; + } + }, + CHICKEN { + @Override + public String toString() { + return "Fried Chicken"; + } + } +} diff --git a/core-java-modules/core-java-lang-oop-types-2/src/main/java/com/baeldung/enumtostring/FastFood3.java b/core-java-modules/core-java-lang-oop-types-2/src/main/java/com/baeldung/enumtostring/FastFood3.java new file mode 100644 index 0000000000..f6db8f4095 --- /dev/null +++ b/core-java-modules/core-java-lang-oop-types-2/src/main/java/com/baeldung/enumtostring/FastFood3.java @@ -0,0 +1,29 @@ +package com.baeldung.enumtostring; + +public enum FastFood3 { + PIZZA("Pizza Pie"), + BURGER("Cheese Burger"), + TACO("Crunchy Taco"), + CHICKEN("Fried Chicken"), + ; + + private final String prettyName; + + FastFood3(String prettyName) { + this.prettyName = prettyName; + } + + FastFood3 fromString(String prettyName) { + for (FastFood3 f : values()) { + if (f.prettyName.equals(prettyName)) { + return f; + } + } + return null; + } + + @Override + public String toString() { + return prettyName; + } +}