Type Casting dalam Java
Typecasting adalah proses mengubah nilai dari satu tipe data ke tipe data lainnya di Java. Karena Java adalah bahasa yang strongly typed (tipe data harus jelas), kita perlu memahami bagaimana cara mengubah tipe data ini dengan aman.
Di Java, ada dua jenis typecasting utama:
1️⃣ Widening Casting (Otomatis)
Widening Casting terjadi ketika kita mengubah tipe data yang ukurannya lebih kecil ke tipe data yang ukurannya lebih besar.
- Sifat: Otomatis dilakukan oleh Java (Implicit).
- Keamanan: Sangat aman, tidak ada data yang hilang.
- Urutan:
byte->short->char->int->long->float->double.
Contoh Kode
public class Main {
public static void main(String[] args) {
int myInt = 9;
double myDouble = myInt; // Otomatis casting: int ke double
System.out.println(myInt); // Output: 9
System.out.println(myDouble); // Output: 9.0
}
}
2️⃣ Narrowing Casting (Manual)
Narrowing Casting terjadi ketika kita mengubah tipe data yang ukurannya lebih besar ke tipe data yang ukurannya lebih kecil.
- Sifat: Harus dilakukan secara manual (Explicit) dengan menempatkan tipe data tujuan dalam kurung
(). - Keamanan: Berisiko. Ada kemungkinan data hilang atau presisi berkurang (misal: angka desimal terpotong).
- Urutan:
double->float->long->int->char->short->byte.
Contoh Kode:
public class Main {
public static void main(String[] args) {
double myDouble = 9.78d;
int myInt = (int) myDouble; // Manual casting: double ke int
System.out.println(myDouble); // Output: 9.78
System.out.println(myInt); // Output: 9 (Data .78 hilang)
}
}