簡體   English   中英

Java中char數組的默認值是什么?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM