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.
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;
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.
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.
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.
Ada beberapa metode standar di kelas enum yang sudah tersedia untuk digunakan.
ordinal()
metode mengembalikan posisi konstanta enum. Misalnya,
ordinal(SMALL)
// returns 0
compareTo()
metode membandingkan konstanta enum berdasarkan nilai ordinalnya. Misalnya,
Size.SMALL.compareTo(Size.MEDIUM)
// returns ordinal(SMALL) - ordinal(MEDIUM)
toString()
metode mengembalikan representasi string dari konstanta enum. Misalnya,
SMALL.toString()
// returns "SMALL"
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"
valueOf()
metode mengambil string dan mengembalikan konstanta enum yang memiliki nama string yang sama. Misalnya,
Size.valueOf("SMALL")
// returns constant SMALL.
values()
metode mengembalikan array tipe enum yang berisi semua konstanta enum. Misalnya,
Size[] enumArray = Size.value();
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
Antarmuka Koleksi Java Dalam tutorial ini, kita akan belajar tentang antarmuka Java Collection dan subinterface-nya. Collection antarmuka adalah antarmuka akar kerangka koleksi Java. Tidak ada implementasi langsung dari antarmuka ini. Namun, ini diimplementasikan melalui subinterfacenya seperti L
Daftar Java Dalam tutorial ini, kita akan belajar tentang antarmuka Daftar di Java dan metodenya. Dalam Java, List interface adalah kumpulan terurut yang memungkinkan kita untuk menyimpan dan mengakses elemen secara berurutan. Ini memperluas Collection antarmuka. Kelas yang Menerapkan Daftar Seja
Java EnumMap Dalam tutorial ini, kita akan belajar tentang kelas Java EnumMap dan operasinya dengan bantuan contoh. EnumMap kelas kerangka koleksi Java menyediakan implementasi peta untuk elemen enum. Di EnumMap , elemen enum digunakan sebagai kunci . Ini mengimplementasikan antarmuka Peta. Se
Java EnumSet Dalam tutorial ini, kita akan belajar tentang kelas Java EnumSet dan berbagai metodenya dengan bantuan contoh. EnumSet kelas kerangka koleksi Java menyediakan satu set implementasi elemen dari satu enum. Sebelum Anda mempelajari EnumSet, pastikan Anda mengetahui tentang Java Enums.