Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Java

String representaties in Java Enums meesteren

String representaties in Java Enums meesteren

Ontdek hoe Java enums string waarden blootleggen, hoe je ze aanpast met overrides, en best practices voor schone, onderhoudbare code.

Standaard string representatie

Java's enum type biedt automatisch een string representatie voor elke constant. Standaard retourneert het aanroepen van toString() of name() de identifier van de constant. Het volgende voorbeeld demonstreert dit gedrag:

enum Grootte { KLEIN, MEDIUM, GROOT, EXTRAGROOT } class Main { public static void main(String[] args) { System.out.println("string waarde van KLEIN is " + Grootte.KLEIN.toString()); System.out.println("string waarde van MEDIUM is " + Grootte.MEDIUM.name()); } }

Uitvoer

string waarde van KLEIN is KLEIN string waarde van MEDIUM is MEDIUM 

De uitvoer bevestigt dat de standaard string waarde gelijk is aan de enum constant's naam.

Standaard string waarde overriden

Terwijl name() final is en niet ge-override kan worden, is toString() open voor aanpassing. Dit stelt elke constant in staat een meer user-friendly of domein-specifieke string te presenteren. Hieronder is een beknopt voorbeeld waar elke constant toString() individueel overrided:

enum Grootte { KLEIN { @Override public String toString() { return "De grootte is klein."; } }, MEDIUM { @Override public String toString() { return "De grootte is medium."; } }; } class Main { public static void main(String[] args) { System.out.println(Grootte.MEDIUM.toString()); } }

Uitvoer

De grootte is medium. 

In dit voorbeeld levert elke enum constant zijn eigen toString() implementatie, wat rikere tekstuele uitvoer mogelijk maakt.

Geavanceerde patronen voor Enum strings

Voor grotere enums of wanneer meerdere properties vereist zijn, houdt een constructor-gebaseerde benadering de code netjes:

enum Grootte { KLEIN("K", "De grootte is klein."), MEDIUM("M", "De grootte is medium."), GROOT("G", "De grootte is groot."); private final String code; private final String beschrijving; Grootte(String code, String beschrijving) { this.code = code; this.beschrijving = beschrijving; } @Override public String toString() { return beschrijving; } public String getCode() { return code; } } 

Het gebruik van een constructor centraliseert data en houdt de enum leesbaar. De toString() methode blijft flexibel, en additionele getters blootleggen rauwe waarden wanneer nodig.

Belangrijke notities

• name() is een final methode gedefinieerd in java.lang.Enum en kan niet ge-override worden. Java Enum API

• Het overriden van toString() beïnvloedt System.out.println(), serialisatie, en elke code die vertrouwt op de enum's string representatie. Gebruik het oordeelkundig om contractverwachtingen niet te breken.

Diepere inzichten in enum ontwerppatronen vind je in onze gids over beste manieren om enum strings te creëren.

Java

  1. C# Strings: Fundamentals, Operaties & Geavanceerde Technieken
  2. Java-operators beheersen: typen, syntax en praktische voorbeelden
  3. Java Strings beheersen: aanmaken, methodes en best practices
  4. Java interfaces meesteren: concepten, implementatie en best practices
  5. Java Enums meesteren: complete gids tot Enums & Enum klassen
  6. Java Enum constructors uitgelegd met praktisch voorbeeld
  7. Java String.charAt() begrijpen: Syntaxis, Retourtype, Exceptions en Praktisch Voorbeeld
  8. Java String.endsWith() beheersen: Controleren op String-suffixen met voorbeelden
  9. Java String Vervanging beheersen: replace(), replaceAll() en replaceFirst() uitgelegd
  10. Java String toLowerCase() & toUpperCase(): Tekstcase Converteren met Locale Awareness
  11. Een char omzetten naar een String in Java – Praktische voorbeelden en best practices