2016-02-27 73 views
2

基本上我有Java將字符添加爲現有字節數組的八位字節?

byte[] arr = new byte[500]; 
int cnt = 0; 
String[] str = {'aaa','bbb','ccc'); 
for (String label : str){ 
    arr[cnt++] = label.subString(0,1).getBytes(); 
} 

的最終目標是具有ARR [0]是 'A' 作爲一個字節,ARR [1] 'A' 作爲一個字節等我最好調試,但我有問題並希望澄清。我知道的getBytes()返回一個字節組,但因爲它是結果將永遠只能是1個字節(因爲它是一個單個字符),我可以做我所做的,或者這是導致像

arr = {[aAsByte],[aAsByte]... 
數組嵌套數組

回答

1

您可以只有第二個for循環,該循環環繞String的每個字符並將其投射到byte。請注意,從char轉換爲byte可能會導致信息丟失,但如果您的字符只是小寫字母,則不會發生。

public static void main(String[] args) { 
    byte[] arr = new byte[500]; 
    int cnt = 0; 
    String[] str = {"aaa","bbb","ccc"}; 
    for (String label : str){ 
     for (char c : label.toCharArray()) { 
      arr[cnt++] = (byte) c; 
     } 
    } 
    System.out.println(Arrays.toString(arr)); 
} 
+0

謝謝!事實之後它總是這麼簡單。我想要更多的咖啡 – user2886972

相關問題