首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Java char 陣列賦值:toCharArray() 與逐字符賦值兩種標準方法

     編輯:程式設計綜合問答

方法一:String.toCharArray() (最簡潔)


String str = "hahah";
char[] chArray = str.toCharArray();  // 自動建立正確大小陣列並複製內容
// chArray = {'h','a','h','a','h'}

方法二:Scanner 讀取單字符 (互動式)


Scanner sc = new Scanner(System.in);
char[] arr = new char[10];
System.out.println("請輸入 10 個字符:");
for (int i = 0; i < arr.length; i++) {
    String input = sc.next();  // 讀取下一個 token (空白分隔)
    if (input.length() > 0) arr[i] = input.charAt(0);
    else i--;  // 空輸入重試
}

方法三:手動指定字符常量


char[] vowels = {'a', 'e', 'i', 'o', 'u'};
char[] custom = new char[] {'H', 'e', 'l', 'l', 'o'};

關鍵區別:char[] vs String

常見錯誤


// 錯誤:char[] arr = "hello";  // 型別不匹配
// 錯誤:char[] arr = new char[5]; arr = "hello";  // 陣列不可重新指派
// 正確:
char[] arr = "hello".toCharArray();
// 或
char[] arr = new char[5];
"hello".getChars(0, 5, arr, 0);

總結

字符串轉 char[] **首選 toCharArray()**。掃描器讀取單字符用 sc.next().charAt(0)。理解 char[] 可變、String 不可變的本質差異,按需選擇。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
特性char[]String
可變性可修改內容不可變
記憶體連續字符物件頭 + char[] + 快取
API 豐富度低 (需手寫迴圈)高 (substring, split, regex...)
安全性敏感資料可手動清零不可變,殘留記憶體風險