Java Var
Pendahuluan
Pernah mempertanyakan kenapa kita harus mendeklarasikan tipe dari sebuah variable di Java ?
Misalnya tipe variable sbb :
Map<String, List<? extends Calculation>> variable1 = new HashMap<String, CalculationImpl>();
Bisa nggak kayak di Javascript saja yang pakai tipe let atau var.
Dimana nanti tipenya ditentuin dari tipe waktu compile nya saja.
Nah, di Java 10 ide ini diakomodasi.
Keyword var di Java
Var adalah keyword baru yang diperkenalkan di Java 10.
Keyword ini memungkinkan kita untuk mendeklarasikan variabel tanpa harus menyebutkan tipe datanya secara eksplisit.
Tipe data dari variabel akan ditentukan secara otomatis oleh compiler berdasarkan konteks di mana variabel tersebut dideklarasikan.
Kegunaan var
Var dapat digunakan untuk deklarasi variabel lokal di dalam method, constructor, dan blok kode.
Var tidak dapat digunakan untuk deklarasi variabel instance, variabel kelas/static, atau parameter method.
Contoh penggunaan var
public class Example1 {
public static void main(String[] args) {
// Deklarasi variabel lokal tanpa tipe data
var nama = "Huzefril";
var umur = 28;
var tinggi = 167.0;
// Penggunaan variabel
System.out.println("Nama: " + nama);
System.out.println("Umur: " + umur);
System.out.println("Tinggi: " + tinggi);
}
}
Maka hasilnya :
Nama: Huzefril
Umur: 28
Tinggi: 167.0
Pada contoh pertama, variabel nama dideklarasikan tanpa tipe data.
Kompiler akan mengecek tipe data variabel nama menjadi String berdasarkan nilai awal yang diberikan.
Pada contoh kedua, variabel umur dideklarasikan dengan tipe data int secara implisit.
Pada contoh ketiga, variabel tinggi dideklarasikan dengan tipe data double secara implisit.
Kelebihan dan kekurangan var
Adapan kelebihan penggunaan keyword var :
- Membuat kode menjadi lebih ringkas dan mudah dibaca.
- Mengurangi kemungkinan kesalahan penulisan tipe data.
Tentu saja ada Kekurangan penggunaan keyword var :
- Dapat membuat kode menjadi kurang jelas, terutama jika tipe data dari variabel tidak dapat ditentukan dengan pasti dari konteksnya.
- Dapat menyebabkan masalah kompatibilitas dengan kode yang ditulis dengan versi Java yang lebih lama.