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

enum Jawa

Enum Java

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

Di Java, enum (singkatan dari enumeration) adalah tipe yang memiliki kumpulan nilai konstanta yang tetap. Kami menggunakan enum kata kunci untuk mendeklarasikan enum. Misalnya,

enum Size { 
   SMALL, MEDIUM, LARGE, EXTRALARGE 
}

Di sini, kami telah membuat enum bernama Size . Ini berisi nilai tetap KECIL , MENENGAH , BESAR , dan EXTRALARGE .

Nilai di dalam kurung kurawal ini disebut konstanta enum (nilai).

Catatan: Konstanta enum biasanya direpresentasikan dalam huruf besar.


Contoh 1:Enum Java

enum Size {
   SMALL, MEDIUM, LARGE, EXTRALARGE
}

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

Keluaran

SMALL
MEDIUM

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

Juga, kita dapat membuat variabel tipe enum. Misalnya,

Size pizzaSize;

Di sini, pizzaSize adalah variabel dari Ukuran Tipe. Itu hanya dapat diberikan 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("I ordered a small size pizza.");
       break;
     case MEDIUM:
       System.out.println("I ordered a medium size pizza.");
       break;
     default:
       System.out.println("I don't know which one to order.");
       break;
   }
 }
}

class Main {
 public static void main(String[] args) {
   Test t1 = new Test(Size.MEDIUM);
   t1.orderPizza();
 }
}

Keluaran

I ordered a medium size pizza.

Dalam program di atas, kami telah membuat jenis enum Size . Kami kemudian mendeklarasikan variabel pizzaSize dari Ukuran ketik.

Di sini, variabel pizzaSize hanya dapat diberikan dengan 4 nilai (SMALL , MENENGAH , BESAR , LUAR BIASA ).

Perhatikan pernyataannya,

Test t1 = new Test(Size.MEDIUM);

Ini akan memanggil Test() konstruktor di dalam Test kelas. Sekarang, variabel pizzaSize ditugaskan dengan MEDIUM konstan.

Berdasarkan nilai tersebut, salah satu kasus dari pernyataan switch case dieksekusi.


Kelas Enum di Java

Di Jawa, tipe enum dianggap sebagai tipe kelas khusus. Itu diperkenalkan dengan rilis Java 5.

Kelas enum dapat menyertakan metode dan bidang seperti kelas biasa.

enum Size {
    constant1, constant2, …, constantN;

    // methods and fields	
}

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


Contoh 3:Kelas Java Enum

enum Size{
  SMALL, MEDIUM, LARGE, EXTRALARGE;

  public String getSize() {

    // this will refer to the object SMALL
    switch(this) {
      case SMALL:
        return "small";

      case MEDIUM:
        return "medium";

      case LARGE:
        return "large";

      case EXTRALARGE:
        return "extra large";

      default:
        return null;
      }
   }

  public static void main(String[] args) {

    // call getSize()
    // using the object SMALL
    System.out.println("The size of the pizza is " + Size.SMALL.getSize());
  }
}

Keluaran

The size of the pizza is small

Dalam contoh di atas, kami telah membuat kelas enum Size . Ini memiliki empat konstanta SMALL , MENENGAH , BESAR dan EXTRALARGE .

Sejak Ukuran adalah kelas enum, kompiler secara otomatis membuat instance untuk setiap konstanta enum.

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

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


Metode Kelas Enum Java

Ada beberapa metode standar di kelas enum yang sudah tersedia untuk digunakan.

1. Java Enum ordinal()

ordinal() metode mengembalikan posisi konstanta enum. Misalnya,

ordinal(SMALL) 
// returns 0

2. Enum compareTo()

compareTo() metode membandingkan konstanta enum berdasarkan nilai ordinalnya. Misalnya,

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

3. Enum toString()

toString() metode mengembalikan representasi string dari konstanta enum. Misalnya,

SMALL.toString()
// returns "SMALL"

4. Nama enum()

name() metode mengembalikan nama yang ditentukan dari konstanta enum dalam bentuk string. Nilai yang dikembalikan dari name() metodenya adalah final . Misalnya,

name(SMALL)
// returns "SMALL"

5. Java Enum valueOf()

valueOf() metode mengambil string dan mengembalikan konstanta enum yang memiliki nama string yang sama. Misalnya,

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

6. Nilai enum()

values() metode mengembalikan array tipe enum yang berisi semua konstanta enum. Misalnya,

Size[] enumArray = Size.value();

Mengapa Java Enum?

Di Java, enum diperkenalkan untuk mengganti penggunaan konstanta int .

Misalkan kita telah menggunakan kumpulan int konstanta.

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 muncul jika kita mencetak konstanta. Itu karena hanya nomor yang tercetak yang mungkin tidak membantu.

Jadi, daripada menggunakan konstanta int, kita cukup menggunakan enum. Misalnya,

enum Size {
   SMALL, MEDIUM, LARGE, EXTRALARGE
}

Ini membuat kode kita lebih intuitif.

Selain itu, enum menyediakan keamanan jenis waktu kompilasi .

Jika kita mendeklarasikan variabel Size Tipe. Misalnya,

Size size;

Di sini, dijamin bahwa variabel akan menampung salah satu dari empat nilai. Sekarang, Jika kita mencoba melewatkan nilai selain keempat nilai tersebut, kompiler akan menghasilkan kesalahan.


java

  1. C enum
  2. Operator Jawa
  3. Komentar Jawa
  4. Java untuk setiap Loop
  5. String Jawa
  6. Antarmuka Jawa
  7. Kelas Anonim Java
  8. enum Jawa
  9. Konstruktor enum Java
  10. String enum Java