Anda dapat memeriksa apakah karakter Anda memiliki nilai default dengan:char == 0
ACV
Jawaban:
105
Nilai default dari sebuah charatribut memang '\u0000'(karakter null) seperti yang dinyatakan dalam Spesifikasi Bahasa Java, bagian §4.12.5 Nilai Awal Variabel .
Di sistem saya, garis System.out.println('\u0000');mencetak sedikit persegi, artinya itu bukan karakter yang dapat dicetak - seperti yang diharapkan.
Penting untuk dicatat bahwa '\u0000'nilainya tidak sama dengan null
Edd
Apa null character? Beberapa jawaban atas pertanyaan ini merujuk pada nilai default sebagai karakter null.
Quazi Irfan
3
@ Óscar López, Bagaimana dengan karakter '\ 0'? mereka tidak sama?
Tarik
5
@Tarik ya, mereka sama.
Óscar López
3
@iamcreasy apa yang Anda katakan benar. Catatan saya hanya bahwa 'karakter nol' adalah karakter. Ini tidak nulldalam istilah java yaitu \u0000 == nullakan kembalifalse
Edd
30
'\ u0000' adalah nilai default untuk sebuah karakter. Setara desimalnya adalah 0.
Saat Anda mendeklarasikan beberapa variabel char tanpa memulainya, '\ u0000' akan ditetapkan secara default.
lihat kode ini
publicclassTest{
char c;
publicstaticvoidmain(String args[])throws Exception {
Test t = new Test();
char c1 = '\u0000';
System.out.println(t.c);
System.out.println(c1);
System.out.println(t.c == c1);
}
}
Kode ini akan dicetak benar untuk cetakan terakhir.
tetapi saya tidak akan mengatakannya karena, itu mungkin berbeda platform atau di masa depan. Yang benar-benar saya pedulikan adalah saya tidak akan pernah menggunakan nilai default ini, jadi sebelum menggunakan karakter apa pun, cukup periksa apakah \ u0000 atau tidak, kemudian gunakan untuk menghindari kesalahpahaman dalam program. Sesederhana itu.
Pertanyaan tersebut sudah memiliki jawaban yang diterima ditambah beberapa jawaban lainnya. Agar jawaban Anda bermanfaat, itu harus menambahkan informasi baru yang berguna atau wawasan baru untuk masalah tersebut. Mengulangi informasi di jawaban lain tidak membantu.
Ada juga literal null khusus yang dapat digunakan sebagai nilai untuk jenis referensi apa pun. null dapat diberikan ke variabel apapun, kecuali variabel tipe primitif. Tidak banyak yang dapat Anda lakukan dengan nilai nol selain menguji keberadaannya. Oleh karena itu, null sering digunakan dalam program sebagai penanda untuk menunjukkan bahwa beberapa objek tidak tersedia.
Itulah mengapa pernyataan berikut akan memberi Anda kesalahan dan bukan yang lain: -
char a = null; // Ketik mismatch: tidak dapat mengubah dari null menjadi char.
char == 0
Jawaban:
Nilai default dari sebuah
char
atribut memang'\u0000'
(karakter null) seperti yang dinyatakan dalam Spesifikasi Bahasa Java, bagian §4.12.5 Nilai Awal Variabel .Di sistem saya, garis
System.out.println('\u0000');
mencetak sedikit persegi, artinya itu bukan karakter yang dapat dicetak - seperti yang diharapkan.sumber
'\u0000'
nilainya tidak sama dengannull
null character
? Beberapa jawaban atas pertanyaan ini merujuk pada nilai default sebagai karakter null.null
dalam istilah java yaitu\u0000 == null
akan kembalifalse
'\ u0000' adalah nilai default untuk sebuah karakter. Setara desimalnya adalah 0.
Saat Anda mendeklarasikan beberapa variabel char tanpa memulainya, '\ u0000' akan ditetapkan secara default.
lihat kode ini
public class Test { char c; public static void main(String args[]) throws Exception { Test t = new Test(); char c1 = '\u0000'; System.out.println(t.c); System.out.println(c1); System.out.println(t.c == c1); } }
Kode ini akan dicetak benar untuk cetakan terakhir.
sumber
Nilai default dari Character adalah Character.MIN_VALUE yang secara internal direpresentasikan sebagai
MIN_VALUE = '\u0000'
Selain itu, Anda dapat memeriksa apakah bidang karakter berisi nilai default sebagai
Character DEFAULT_CHAR = new Character(Character.MIN_VALUE); if (DEFAULT_CHAR.compareTo((Character) value) == 0) { }
sumber
'\u0000'
singkatannull
. Jadi jika Anda mencetak variabel char yang tidak diinisialisasi, Anda tidak akan mendapatkan apa-apa.sumber
Ini '\ u0000'. Lihat di sini untuk informasi lebih lanjut .
sumber
Karakter default adalah karakter dengan nilai int 0 (nol).
char NULLCHAR = (char) 0;
char NULLCHAR = '\ 0';
sumber
yang menggoda katakanlah sebagai spasi putih atau bilangan bulat 0 sesuai bukti di bawah ini
char c1 = '\u0000'; System.out.println("*"+c1+"*"); System.out.println((int)c1);
tetapi saya tidak akan mengatakannya karena, itu mungkin berbeda platform atau di masa depan. Yang benar-benar saya pedulikan adalah saya tidak akan pernah menggunakan nilai default ini, jadi sebelum menggunakan karakter apa pun, cukup periksa apakah \ u0000 atau tidak, kemudian gunakan untuk menghindari kesalahpahaman dalam program. Sesederhana itu.
sumber
Nilai default dari tipe data char adalah '\ u0000' (atau 0) dan nilai maksimum '\ uffff' (atau termasuk 65.535).
Kalian bisa lihat infonya disini .
sumber
Perhatikan bahwa ada perbedaan mencolok antara nol dan nol. Di http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html (direferensikan di atas), pernyataan dibuat: -
Ada juga literal null khusus yang dapat digunakan sebagai nilai untuk jenis referensi apa pun. null dapat diberikan ke variabel apapun, kecuali variabel tipe primitif. Tidak banyak yang dapat Anda lakukan dengan nilai nol selain menguji keberadaannya. Oleh karena itu, null sering digunakan dalam program sebagai penanda untuk menunjukkan bahwa beberapa objek tidak tersedia.
Itulah mengapa pernyataan berikut akan memberi Anda kesalahan dan bukan yang lain: -
char a = null; // Ketik mismatch: tidak dapat mengubah dari null menjadi char.
char b = 0; // Sintaks yang valid.
sumber
\u0000
adalah nilai default untuk tipe karakter di JavaSeperti yang disebutkan orang lain, Anda dapat menggunakan perbandingan untuk memeriksa nilai variabel yang tidak diinisialisasi.
char ch; if(ch==0) System.out.println("Default value is the null character");
sumber
Saya pikir itu
'\u00000'
atau lebih''
tepatnya'\u0000'
(Yang pertama memiliki 5 nol sedangkan yang terakhir memiliki empat nol.)sumber
Nilai default untuk
char
adalah \ u0000public class DefaultValues { char varChar; public static void main(String...l) { DefaultValues ob =new DefaultValues(); System.out.println(ob.varChar=='\u0000'); } }
Ini akan kembali benar
sumber
Nilai default char adalah null yaitu '\ u0000' sesuai bagan Unicode . Mari kita lihat cara kerjanya saat mencetak.
public class Test_Class { char c; void printAll() { System.out.println("c = " + c); } public static void main(String[] args) { Test_Class f = new Test_Class(); f.printAll(); } }
Catatan: Outputnya kosong.
sumber
Nilai default dari tipe primitif char adalah '\ u0000' (karakter null) seperti yang dinyatakan dalam Spesifikasi Bahasa Java.
Pintasan untuk 'u0000' adalah '\ 0', Jadi nol dapat direpresentasikan dengan 'u0000' atau '\ 0'.
Program Java di bawah ini memvalidasi representasi nol menggunakan contoh bidang char 'c'.
public class DefaultValueForchar { char c; public static void main(String[] args) { char c0 = '\0'; char cu0000 = '\u0000'; DefaultValueForchar obj = new DefaultValueForchar(); System.out.println(obj.c); System.out.println(c0); System.out.println(cu0000); System.out.println(c0==cu0000); System.out.println(obj.c==c0); System.out.println(obj.c==cu0000); } }
sumber