Java如何將字串轉換為字元陣列?

banq發表於2022-09-18

java string toCharArray()方法將此字串轉換為字元陣列。它返回一個新建立的字元陣列,它的長度和這個字串相似,它的內容用這個字串的字元初始化。返回一個新分配的字元陣列,其長度為該字串的長度,其內容被初始化為包含該字串表示的字元序列。

public class StringToCharArrayExample {
 public static void main(String[] args) {

   String input = "java-jdon";
  char[] chars = input.toCharArray();
  for (int i = 0; i < input.length(); i++) {
   System.out.print(chars[i] +" ");
  }
  
 }
}


toCharArray 內部實現:
這將檢查字串是否包含拉丁字元或 UTF16 字元。

public char[] toCharArray() {
        return isLatin1() ? StringLatin1.toChars(value) : StringUTF16.toChars(value);
        }


如果字串是拉丁語,則呼叫StringLatin1.toChars

   public static char[] toChars(byte[] value) {
        char[] dst = new char[value.length];
        inflate(value, 0, dst, 0, value.length);
        return dst;
    }


如果字串是拉丁語,則呼叫StringUTF16.toChars並呼叫getChars()方法。

public static char[] toChars(byte[] value) {
        char[] dst = new char[value.length >> 1];
        getChars(value, 0, dst.length, dst, 0);
        return dst;
    }

 

相關文章