Java - Enum Strings

Hai kepada semua yang ingin menjadi pemrogram Java! Hari ini, kita akan menyelam ke atas dunia yang menarik tentang Enum Strings di dalam Java. Jangan khawatir jika anda baru mengenal programming – saya akan membimbing anda melalui setiap langkah, sama seperti yang saya lakukan untuk pelbagai pelajar selama tahun tahun pengajaran saya. Jadi, mari kita memulakan perjalanan yang menarik ini bersama-sama!

Java - Enum Strings

Apa itu Enums?

Sebelum kita menyelam ke atas Enum Strings, mari kita mulakan dengan asas. Enums, singkatan untuk "enumerations," adalah jenis khusus di dalam Java yang mewakili set konstan yang tetap. Bayangkan mereka sebagai senarai pilihan yang telah ditetapkan yang tidak akan berubah semasa masa pelayanannya program anda.

Bayangkan anda membuat program untuk kedai kopi. Anda mungkin ada set ukuran rakkan yang tetap: KECIL, SEDANG, dan BESAR. Ini adalah scenario yang sempurna untuk menggunakan enum!

Berikut adalah cara kita boleh definiskan enum ini:

public enum CupSize {
KECIL,
SEDANG,
BESAR
}

Sekarang, mari kita lihat cara kita boleh menggunakan enum ini di atas kod kita:

public class CoffeeShop {
public static void main(String[] args) {
CupSize pesananSaya = CupSize.SEDANG;
System.out.println("Saya mahu satu kopi " + pesananSaya + ", tolong!");
}
}

Apabila anda menjalankan kod ini, ia akan mengeluarkan: "Saya mahu satu kopi SEDANG, tolong!"

Enum Strings: Pandangan Lebih Dekat

Sekarang kita telah memahami apa itu enums, mari kita eksplor Enum Strings. Secara lalai, apabila anda mencetak nilai enum, Java akan menggunakan nama itu sebagai string. Tetapi apa jika anda mahu menyesuaikan bagaimana nilai enum anda direpresentasikan sebagai strings?

Ini adalah di mana method toString() menjadi berguna. Mari kita tingkatkan enum CupSize kita untuk memberikan strings yang lebih deskriptif:

public enum CupSize {
KECIL("Kecil (8 oz)"),
SEDANG("Sedang (12 oz)"),
BESAR("Besar (16 oz)");

private final String keterangan;

CupSize(String keterangan) {
this.keterangan = keterangan;
}

@Override
public String toString() {
return this.keterangan;
}
}

Mari kita kongsi apa yang terjadi di sini:

  1. Kita telah menambahkan medan keterangan kepada enum kita.
  2. Kita telah membuat konstruktor yang mengambil keterangan ini sebagai parameter.
  3. Kita telah menimpa method toString() untuk mengembalikan keterangan custom kita.

Sekarang, mari kita gunakan enum yang telah ditingkatkan kita:

public class CoffeeShop {
public static void main(String[] args) {
CupSize pesananSaya = CupSize.SEDANG;
System.out.println("Saya mahu satu kopi " + pesananSaya + ", tolong!");
}
}

Kali ini, apabila anda menjalankan kod, ia akan mengeluarkan: "Saya mahu satu kopi Sedang (12 oz), tolong!"

Adakah ianya kemas? Kita telah menyesuaikan bagaimana nilai enum kita direpresentasikan sebagai strings!

Bekerja Dengan Enum Strings

Sekarang kita tahu bagaimana membuat representasi string custom untuk enums kita, mari kita eksplor beberapa operasi umum yang anda mungkin melakukan dengan Enum Strings.

Mengubah Enum ke String

Kita telah lihat bagaimana untuk mengubah enum ke string menggunakan method toString(). Tetapi ada cara lain untuk mendapatkan nama konstan enum sebagai string:

CupSize size = CupSize.BESAR;
String namaSize = size.name();
System.out.println("Nama enum adalah: " + namaSize);

Ini akan mengeluarkan: "Nama enum adalah: BESAR"

Mengubah String ke Enum

Apabila anda ada string dan mahu mengubahnya kembali ke enum? Anda boleh menggunakan method valueOf():

String sizeString = "KECIL";
CupSize size = CupSize.valueOf(sizeString);
System.out.println("Enum yang diubah adalah: " + size);

Ini akan mengeluarkan: "Enum yang diubah adalah: Kecil (8 oz)"

Mengulang Enum Values

Kadang-kadang, anda mungkin mahu untuk mengulang semua nilai di atas enum. Anda boleh melakukan ini menggunakan method values():

System.out.println("Ukuran rakkan yang tersedia:");
for (CupSize size : CupSize.values()) {
System.out.println("- " + size);
}

Ini akan mengeluarkan:

Ukuran rakkan yang tersedia:
- Kecil (8 oz)
- Sedang (12 oz)
- Besar (16 oz)

Contoh Praktikal: Sistem Pesanan Kopi

Mari kita gabungkan semua yang kita telah pelajari ke atas contoh yang lebih komprehensif. Kita akan membuat sistem pesanan kopi yang simple:

import java.util.Scanner;

public enum CoffeeType {
ESPRESSO("Kopi yang kuat yang dibuat dengan memaksa air panas di bawah tekanan melalui kopi kering yang dihaluskan."),
LATTE("Espresso dengan susu yang dipanaskan dan lapisan atas yang tipis dari rakkan susu."),
CAPPUCCINO("Perbandingan yang sama antara espresso, susu yang dipanaskan, dan rakkan susu.");

private final String keterangan;

CoffeeType(String keterangan) {
this.keterangan = keterangan;
}

@Override
public String toString() {
return name() + ": " + this.keterangan;
}
}

public class CoffeeShop {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);

System.out.println("Selamat datang ke kedai kopi kami!");
System.out.println("Berikut adalah jenis kopi yang kami ada:");
for (CoffeeType jenis : CoffeeType.values()) {
System.out.println("- " + jenis);
}

System.out.print("Anda mahu jenis kopi apa? ");
String pilihanUser = scanner.nextLine().toUpperCase();

try {
CoffeeType kopiYangDipilih = CoffeeType.valueOf(pilihanUser);
System.out.println("Pilihan yang bagus! Anda telah memesan satu " + kopiYangDipilih.name().toLowerCase() + ".");
} catch (IllegalArgumentException e) {
System.out.println("Maaf, kami tidak ada jenis kopi tersebut.");
}

scanner.close();
}
}

Program ini melakukan hal berikut:

  1. Kita definisikan CoffeeType enum dengan keterangan untuk setiap jenis kopi.
  2. Di atas method main, kita paparkan semua jenis kopi yang tersedia kepada pengguna.
  3. Kita tanya pengguna untuk memilih jenis kopi.
  4. Kita cuba untuk mengubah input pengguna ke CoffeeType enum.
  5. Jika berjaya, kita mengesahkan pesanan mereka. Jika tidak, kita memberitahu mereka yang kami tidak ada jenis kopi itu.

Penutup

Tahniah! Anda baru saja menyelam ke atas dunia Enum Strings di dalam Java. Kita telah membahas tentang apa itu enums, bagaimana untuk menyesuaikan representasi string mereka, dan bagaimana untuk bekerja dengan mereka dalam pelbagai cara. Ingat, enums adalah alat yang kuat di dalam Java yang dapat membuat kod anda lebih mudah dibaca dan kurang berisiko kesilapan apabila berurusan dengan set konstan yang tetap.

Apabila anda teruskan perjalanan Java anda, anda akan menemui banyak lagi penggunaan untuk enums. Mereka adalah sangat berguna dalam pernyataan switch, untuk mewakili negeri di atas rakit penyelam, atau di mana-mana anda ada set pilihan yang tetap.

Teruskan untuk berlatih, tetaplah curious, dan happy coding!

Credits: Image by storyset