2016-02-27 74 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

相关问题