Saya memiliki kode ini
public static Boolean freq[] = new Boolean[Global.iParameter[2]];
freq[Global.iParameter[2]] = false;
Bisakah seseorang memberi tahu saya apa yang sebenarnya saya lakukan salah di sini dan bagaimana cara memperbaikinya? Saya hanya perlu menginisialisasi semua elemen array ke Boolean false. Terima kasih
java
arrays
initialization
leba-lev
sumber
sumber
Boolean[] array
karena memungkinkan Anda untuk memiliki tiga negara untuk setiap elemen:true
,false
dannull
, yang berguna untuk kasus-kasus di mana Anda ingin untuk dicatat bahwa ada sesuatu yang "tidak diproses".Array akan diinisialisasi ke false saat Anda mengalokasikannya.
Semua array di Java diinisialisasi ke nilai default untuk tipe tersebut. Ini berarti bahwa array int diinisialisasi ke 0, array boolean diinisialisasi ke false dan array tipe referensi diinisialisasi ke null.
sumber
Boolean
, bukanboolean
, jadi defaultnya adalahnull
.Array di Java mulai mengindeks di 0. Jadi dalam contoh Anda, Anda merujuk ke elemen yang berada di luar array satu per satu.
Ini mungkin harus seperti freq [Global.iParameter [2] -1] = false;
Anda perlu melakukan loop melalui array untuk menginisialisasi semuanya, baris ini hanya menginisialisasi elemen terakhir.
Sebenarnya, saya cukup yakin bahwa false adalah default untuk boolean di Java, jadi Anda mungkin tidak perlu melakukan inisialisasi sama sekali.
Salam Hormat
sumber
Boolean
, bukanboolean
, jadi defaultnya adalahnull
.Mereka akan diinisialisasi
false
secara default. Dalam Java, array dibuat di heap dan setiap elemen array diberi nilai default tergantung pada tipenya. Untukboolean
tipe data nilai defaultnya adalahfalse
.sumber
Boolean
, bukanboolean
, jadi defaultnya adalahnull
.public static Boolean freq [] = new Boolean [Global.iParameter [2]];
Global.iParameter [2]:
Ini harus menjadi nilai const
sumber