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.