Java Enum

Enum

Sebuah enum merupakan sebuah class khusus yang merepresentasikan sebuah grup dari constants (variable yang tidak dapat diubah, seperti variabel final).

Untuk membuat sebuah enum, gunakan keyword enum (sebagai ganti dari class atau interface), dan pisahkan constants dengan sebuah koma. Contant harus menggunakan huruf kapital. Contoh :

enum Level {
    LOW,
    MEDIUM,
    HIGH
}

Anda bisa mengakses constant enum dengan menggunakan titik ( . ) :

enum Level {
  LOW,
  MEDIUM,
  HIGH
}

public class Main { 
  public static void main(String[] args) { 
    Level variabel = Level.MEDIUM; 
    System.out.println(variabel); 
  } 
}

Output :

MEDIUM

Enum merupakan kependekan dari “enumerations”, yang berarti “terdaftar secara khusus”.

Enum Dalam Class

Anda juga bisa memiliki enum di dalam sebuah class. Contoh :

public class Main {
    enum Level {
        LOW,
        MEDIUM,
        HIGH
    } 

    public static void main(String[] args) {
        Level variabelSaya = Level.MEDIUM;
        System.out.println(variabelSaya);
    }
}

Akan menghasilkan :

MEDIUM

Enum Dalam Switch

Enums sering digunakan dalam switch untuk mengecek nilai yang sesuai. Contoh :

enum Level {
    LOW,
    MEDIUM,
    HIGH
}

public class Main {
    public static void main(String[] args) {
        Level variabelSaya = Level.MEDIUM;
       
        switch(variabelSaya) { 
            case LOW:
                System.out.println("Low Level");
                break;
            case MEDIUM:
                System.out.println("Medium Level");
                break;
            case HIGH:
                System.out.println("High Level");
                break;
        }
    }
}

Akan menghasilkan :

Medium Level

Loop Melalui Enum

Enum memiliki sebuah method values(), yang akan mengembalikan sebuah array dari semua constant enum. Method ini berguna ketika Anda ingin melakukan iterasi pada constant enum. Contoh :

enum Level {
  LOW,
  MEDIUM,
  HIGH
}

public class Main {
  public static void main(String[] args) { 
 	for (Level variabelSaya : Level.values()) {
	   System.out.println(variabelSaya);
	}
  } 
}

Akan menghasilkan :

LOW
MEDIUM
HIGH

Catatan: iterasi adalah mengakses nilai-nilai yang disimpan pada Collection / Enum satu per-satu

Perbedaan Antara Enum Dan Class

Enum bisa seperti sebuah class, memiliki atribut dan method. Satu-satunya perbedaan adalah bahwa constant enum adalah public, static, dan final (tidak dapat diubah). Enum tidak dapat dibuat object dan tidak dapat mewarisi (inheritance) class lain (tapi dapat mengimplementasi interface).

Kapan Dan Mengapa Menggunakan Enum?

Gunakan enum ketika Anda memiliki nilai yang Anda tahu tidak akan diubah, seperti bulan, hari, warna, tumpukan kartu, dll.

Tinggalkan Balasan

Keranjang Belanja0
Keranjang belanja kosong ...
0