1
我想將二進制列表轉換爲二進制int []。 我的代碼低於:將二進制列表<String[]>轉換爲二進制字節[] java與精確結果
public class BinListToIntArr {
public static void main(String[] args) {
List<String[]> arrList = new ArrayList<>();
//fill it
arrList.add(new String[] {"0011","1100","1111","1111","0000"});
arrList.add(new String[] {"0101","1111","1010","0000","0101"});
arrList.add(new String[] {"1111","1010","0000","0101","1111"});
arrList.add(new String[] {"1010","0000","1111","0101","1100"});
arrList.add(new String[] {"0000","1110","1100","0001","0011"});
//convert it
ArrayList<Integer> ints = new ArrayList<>();
for (String[] array : arrList) {
for (String str : array) {
ints.add(Integer.parseInt(str));
}
}
Integer[] result = ints.toArray(new Integer[] {});
for (int i : result){
System.out.println(i);
}
}
}
結果應該是:
0011
1100
1111
1111
0000
1010
1111
1010
0000
1010
1111
1010
0000
1010
1111
1010
0000
1111
1010
1100
0000
1110
1100
1000
1100
但我得到了這樣的結果:
11
1100
1111
1111
0
101
1111
1010
0
101
1111
1010
0
101
1111
1010
0
1111
101
1100
0
1110
1100
1
11
在這部分,我犯了一個錯誤?有沒有人可以幫忙? 因爲無論我嘗試過,String中的0總是消失,當我將它轉換爲int。當我們轉換爲int時,是否有可能讓String中的0不會消失?如果是,如何?
它正在打印!所以,價值本身不會改變,對吧?我的意思是,列表中的結果與int []結果相同,我正確嗎? –
user3698011
@ user3698011:值完全不同。一個持有字符串,一個持有整數,兩個完全不同的類型持有不同的信息。 –
謝謝你的解釋! – user3698011