[英]What are the default values of the char array in Java?
如果我分配這樣的字符數組:
char[] buffer = new char[26];
分配給它的默認值是什么? 我試圖打印它,它只是一個空字符。
System.out.println("this is what is inside=>" + buffer[1]);
this is what is inside=>
有它的 ASCII 碼嗎? 我需要能夠確定數組是否為空,並且進一步,當我用字符填充前五個元素時,我需要找出第六個元素是空的。 謝謝。
它與任何類型相同:該類型的默認值。 (因此與您在未專門初始化的字段中獲得的內容相同。)
默認值在JLS 4.12.5中指定:
對於 char 類型,默認值為空字符,即
'\ '
。
話雖如此,聽起來您真的想要一個List<Character>
,它可以跟蹤集合的實際大小。 如果您需要隨機訪問列表(例如,即使您尚未填充元素 2,您也希望能夠填充元素 25),那么您可以考慮:
null
作為“未設置”值而不是'\ '
的Character[]
(畢竟它仍然是一個字符...)Map<Integer, Character>
char[]
如果你知道你永遠、永遠、想要將一個值為'\ '
的元素視為“set”(如果不了解您在做什么,就很難知道其中哪一個最合適。)
您也可以將其轉換為 int 然后進行比較。
例如 - 假設我將數組聲明為
char[] arr = new char[10];
arr[3]='1';
然后,下面的代碼
for(char c:arr){
if((int)c!=0){
System.out.println(c);
}
}
會輸出
1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.