Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Ambdós costats versió prèvia Revisió prèvia
Següent revisió
Revisió prèvia
development:java:enum [03/06/2018 04:14] – [simple] matedevelopment:java:enum [05/06/2018 03:01] (actual) – [Enum] mate
Línia 1: Línia 1:
 = Enum = Enum
 +{{tag>java API}}
 == revisar == revisar
   * [[https://www.mkyong.com/java/java-enum-example/]]   * [[https://www.mkyong.com/java/java-enum-example/]]
  
 == ejemplos == ejemplos
 +  * [[https://www.mkyong.com/java/java-enum-example/]]
 +  * [[https://beginnersbook.com/2014/09/java-enum-examples/]]
 +
 === simple === simple
 <sxh java> <sxh java>
Línia 13: Línia 17:
 } }
 </sxh> </sxh>
-<sxh>+<sxh java>
 System.out.println(UserStatus.ACTIVE);      //ACTIVE System.out.println(UserStatus.ACTIVE);      //ACTIVE
 </sxh> </sxh>
Línia 43: Línia 47:
 <sxh java> <sxh java>
         System.out.println(WhoisRIR.ARIN.url());      //whois.arin.net         System.out.println(WhoisRIR.ARIN.url());      //whois.arin.net
 +</sxh>
 +=== simple + campo + lógica
 +<sxh 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);
 +        }
 +    }
 +
 +}
 +</sxh>
 +<sxh java>
 +        double result = Operation.PLUS.calculate(1, 2);
 +        System.out.println(result); //3.0
 +</sxh>
 +
 +=== bucle
 +<sxh java>
 +        for (UserStatus status : UserStatus.values()) {
 +            System.out.println(status);
 +        }
 +</sxh>
 +<sxh>
 +PENDING
 +ACTIVE
 +INACTIVE
 +DELETED
 +</sxh>
 +
 +=== comparación
 +<sxh java>
 +        WhoisRIR rir = WhoisRIR.APNIC;
 +
 +        if(rir == WhoisRIR.APNIC) {
 +            System.out.println("This is APNIC : " + rir.url());  //This is APNIC : whois.apnic.net
 +        }
 +</sxh>
 +
 +=== comparacion 2
 +<sxh java>
 +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"); // This is RIPE
 +                break;
 +            default:
 +                throw new AssertionError("Unknown RIR " + rir);
 +
 +        }
 +    }
 +}
 +</sxh>
 +
 +=== string to enum
 +<sxh java>
 +//enum valueOf + uppercase
 +Operation op = Operation.valueOf("times".toUpperCase());
 +System.out.println(op.calculate(10, 3));    // 30.0
 +</sxh>
 +<sxh java>
 +// Recommended Solution : add locale
 +WhoisRIR rir = WhoisRIR.valueOf("ripe".toUpperCase(Locale.ENGLISH));
 +System.out.println(rir);    //RIPE
 +System.out.println(rir.url());    //whois.ripe.net
 </sxh> </sxh>
  • development/java/enum.1528024487.txt.gz
  • Darrera modificació: 03/06/2018 04:14
  • per mate