Exemple d'énumération Java
Certains des exemples d'énumérations Java, et comment l'utiliser, rien de spécial, juste pour l'auto-référence.
Note
Considérez le type Enum si votre programme se compose d'un ensemble fixe de constantes, comme les saisons de l'année, le calculateur d'opérations, le statut de l'utilisateur, etc.
1. Énumération de base
UserStatus.java
public enum UserStatus { PENDING, ACTIVE, INACTIVE, DELETED; }
Test.java
public class Test { public static void main(String[] args) { //ACTIVE System.out.println(UserStatus.ACTIVE); } }
2. Champ Enum + Instance
WhoisRIR.java
public enum WhoisRIR { ARIN("whois.arin.net"), RIPE("whois.ripe.net"), APNIC("whois.apnic.net"), AFRINIC("whois.afrinic.net"), LACNIC("whois.lacnic.net"), JPNIC("whois.nic.ad.jp"), KRNIC("whois.nic.or.kr"), CNNIC("ipwhois.cnnic.cn"), UNKNOWN(""); private String url; WhoisRIR(String url) { this.url = url; } public String url() { return url; } }
Test.java
public class Test { public static void main(String[] args) { //whois.arin.net System.out.println(WhoisRIR.ARIN.url()); } }
3. Enum + Méthode + Un peu de logique
Operation.java
public enum Operation { PLUS, MINUS, TIMES, DIVIDE; double calculate(double x, double y) { switch (this) { case PLUS: return x + y; case MINUS: return x - y; case TIMES: return x * y; case DIVIDE: return x / y; default: throw new AssertionError("Unknown operations " + this); } } }
Test.java
public class Test { public static void main(String[] args) { double result = Operation.PLUS.calculate(1, 2); System.out.println(result); //3.0 } }
4. Comment utiliser Enum
4.1 To loop a Enum object.
public class Test { public static void main(String[] args) { for (UserStatus status : UserStatus.values()) { System.out.println(status); } } }
Sortie
PENDING ACTIVE INACTIVE DELETED
4.2 To compare the Enum values, use ==
operator.
public class Test { public static void main(String[] args) { WhoisRIR rir = WhoisRIR.APNIC; if(rir == WhoisRIR.APNIC) { System.out.println("This is APNIC : " + rir.url()); } } }
Sortie
This is APNIC : whois.apnic.net
4.3 Switch case.
public class Test { public static void main(String[] args) { WhoisRIR rir = WhoisRIR.RIPE; switch (rir) { case ARIN: System.out.println("This is ARIN"); break; case APNIC: System.out.println("This is APNIC"); break; case RIPE: System.out.println("This is RIPE"); break; default: throw new AssertionError("Unknown RIR " + rir); } } }
Sortie
This is RIPE
4.2 Convert a String to Enum object.
public class Test { public static void main(String[] args) { //enum valueOf + uppercase Operation op = Operation.valueOf("times".toUpperCase()); System.out.println(op.calculate(10, 3)); } }
Sortie
30.0
Terminé.