Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> java

Menguasai Enum Java: Panduan Lengkap tentang Enum & Kelas Enum

Enum Java

Dalam tutorial ini, kita akan mempelajari tentang enums di Java. Kita akan belajar cara membuat dan menggunakan enums serta kelas enum dengan bantuan contoh.

Di Java, enum (singkatan dari enumeration) adalah tipe yang memiliki sekelompok nilai konstan yang tetap. Kita menggunakan kata kunci enum untuk mendeklarasikan enums. Misalnya,

 enum Size { SMALL, MEDIUM, LARGE, EXTRALARGE }

Di sini, kita telah membuat enum bernama Size. Ini berisi nilai tetap SMALL, MEDIUM, LARGE, dan EXTRALARGE.

Nilai-nilai di dalam kurung kurawal disebut enum constants (values).

Catatan: Biasanya enum constants ditulis dengan huruf kapital.


Contoh 1: Java Enum

 enum Size { SMALL, MEDIUM, LARGE, EXTRALARGE } class Main { public static void main(String[] args) { System.out.println(Size.SMALL); System.out.println(Size.MEDIUM); } }

Output

 SMALL MEDIUM

Seperti yang dapat kita lihat dari contoh di atas, kita menggunakan nama enum untuk mengakses nilai konstan.

Kita juga dapat membuat variabel dengan tipe enum. Misalnya,

 Size pizzaSize;

Di sini, pizzaSize adalah variabel dari tipe Size. Variabel ini hanya dapat di-assign dengan 4 nilai.

 pizzaSize = Size.SMALL; pizzaSize = Size.MEDIUM; pizzaSize = Size.LARGE; pizzaSize = Size.EXTRALARGE;

Contoh 2: Java Enum dengan pernyataan switch

 enum Size { SMALL, MEDIUM, LARGE, EXTRALARGE } class Test { Size pizzaSize; public Test(Size pizzaSize) { this.pizzaSize = pizzaSize; } public void orderPizza() { switch(pizzaSize) { case SMALL: System.out.println("Saya memesan pizza ukuran kecil."); break; case MEDIUM: System.out.println("Saya memesan pizza ukuran sedang."); break; default: System.out.println("Saya tidak tahu yang mana harus dipesan."); break; } } } class Main { public static void main(String[] args) { Test t1 = new Test(Size.MEDIUM); t1.orderPizza(); } }

Output

 Saya memesan pizza ukuran sedang.

Dalam program di atas, kita telah membuat tipe enum Size. Kita kemudian mendeklarasikan variabel pizzaSize dari tipe Size.

Di sini, variabel pizzaSize hanya dapat di-assign dengan 4 nilai (SMALL, MEDIUM, LARGE, EXTRALARGE).

Perhatikan pernyataan,

 Test t1 = new Test(Size.MEDIUM);

Ini akan memanggil konstruktor Test() di dalam kelas Test. Sekarang, variabel pizzaSize di-assign dengan konstanta MEDIUM.

Berdasarkan nilai, salah satu kasus pernyataan switch case dieksekusi.


Kelas Enum di Java

Di Java, tipe enum dianggap sebagai jenis kelas khusus. Ini diperkenalkan dengan rilis Java 5.

Sebuah kelas enum dapat mencakup metode dan field seperti kelas reguler.

 enum Size { constant1, constant2, …, constantN; // methods and fields }

Saat kita membuat kelas enum, kompiler akan membuat instances (objek) dari setiap enum constants. Juga, semua enum constant secara default selalu public static final.


Contoh 3: Kelas Enum Java

 enum Size{ SMALL, MEDIUM, LARGE, EXTRALARGE; public String getSize() { // ini akan merujuk ke objek SMALL switch(this) { case SMALL: return "kecil"; case MEDIUM: return "sedang"; case LARGE: return "besar"; case EXTRALARGE: return "extra besar"; default: return null; } } public static void main(String[] args) { // panggil getSize() // menggunakan objek SMALL System.out.println("Ukuran pizza adalah " + Size.SMALL.getSize()); } }

Output

 Ukuran pizza adalah kecil

Dalam contoh di atas, kita telah membuat kelas enum Size. Ini memiliki empat konstanta SMALL, MEDIUM, LARGE dan EXTRALARGE.

Karena Size adalah kelas enum, kompiler secara otomatis membuat instances untuk setiap enum constants.

Di sini di dalam metode main(), kita telah menggunakan instance SMALL untuk memanggil metode getSize().

Catatan: Seperti kelas reguler, kelas enum juga dapat mencakup konstruktor. Untuk mempelajari lebih lanjut, kunjungi Java enum constructor.


Metode Kelas Enum Java

Ada beberapa metode terdefinisi sebelumnya di kelas enum yang siap digunakan.

1. Java Enum ordinal()

Metode ordinal() mengembalikan posisi dari sebuah enum constant. Misalnya,

 ordinal(SMALL) // returns 0

2. Enum compareTo()

Metode compareTo() membandingkan enum constants berdasarkan nilai ordinal mereka. Misalnya,

 Size.SMALL.compareTo(Size.MEDIUM) // returns ordinal(SMALL) - ordinal(MEDIUM)

3. Enum toString()

Metode toString() mengembalikan representasi string dari enum constants. Misalnya,

 SMALL.toString() // returns "SMALL"

4. Enum name()

Metode name() mengembalikan nama yang didefinisikan dari sebuah enum constant dalam bentuk string. Nilai yang dikembalikan dari metode name() adalah final. Misalnya,

 name(SMALL) // returns "SMALL"

5. Java Enum valueOf()

Metode valueOf() mengambil sebuah string dan mengembalikan enum constant yang memiliki nama string yang sama. Misalnya,

 Size.valueOf("SMALL") // returns constant SMALL.

6. Enum values()

Metode values() mengembalikan array dari tipe enum yang berisi semua enum constants. Misalnya,

 Size[] enumArray = Size.value();

Mengapa Java Enums?

Di Java, enum diperkenalkan untuk menggantikan penggunaan int constants.

Misalkan kita telah menggunakan kumpulan konstanta int.

 class Size { public final static int SMALL = 1; public final static int MEDIUM = 2; public final static int LARGE = 3; public final static int EXTRALARGE = 4; }

Di sini, masalah timbul jika kita mencetak konstanta. Itu karena hanya angka yang dicetak yang mungkin tidak berguna.

Jadi, alih-alih menggunakan int constants, kita dapat menggunakan enums. Misalnya,

 enum Size { SMALL, MEDIUM, LARGE, EXTRALARGE }

Ini membuat kode kita lebih intuitif.

Selain itu, enum menyediakan type safety waktu kompilasi.

Jika kita mendeklarasikan variabel dari tipe Size. Misalnya,

 Size size;

Di sini, terjamin bahwa variabel akan menyimpan salah satu dari empat nilai. Sekarang, jika kita mencoba melewatkan nilai selain keempat nilai tersebut, kompiler akan menghasilkan kesalahan.


java

  1. Menguasai Enumerasi C: Definisi, Deklarasi, dan Operasi Flag
  2. Menguasai Operator Java: Tipe, Sintaks, & Contoh Praktis
  3. Komentar Java: Tipe, Penggunaan, dan Best Practices
  4. Menguasai Java Enhanced For Loop: Sintaks, Contoh, dan Best Practices
  5. Menguasai String Java: Pembuatan, Metode, dan Best Practices
  6. Menguasai Antarmuka Java: Konsep, Implementasi, dan Praktik Terbaik
  7. Menguasai Kelas Dalam Anonim Java: Definisi, Sintaks, dan Contoh Praktis
  8. Menguasai Enum Java: Panduan Lengkap tentang Enum & Kelas Enum
  9. Konstruktor Enum Java Dijelaskan dengan Contoh Praktis
  10. Menguasai Representasi String dalam Enum Java