有沒有比這更好的方式從byte
得到byte[1]
?如何從一個字節創建一個字節[1]?
byte given_byte = 0x12;
byte[] wanted_byte = new byte[1];
wanted_byte[0] = given_byte;
我有given_byte
。似乎沒有必要使用兩條線來定義wanted_byte
。
有沒有比這更好的方式從byte
得到byte[1]
?如何從一個字節創建一個字節[1]?
byte given_byte = 0x12;
byte[] wanted_byte = new byte[1];
wanted_byte[0] = given_byte;
我有given_byte
。似乎沒有必要使用兩條線來定義wanted_byte
。
試試這個:
byte[] wanted_byte = new byte[]{given_byte};
或者爲霍爾格說:
byte[] wanted_byte = {given_byte};
Snap !,除非你錯過了最後的分號。 :) –
@TonyHopkinson,是的,我現在修好了。謝謝:) –
或簡單地'byte [] wanted_byte = {given_byte};' – Holger
或者這樣:
public byte[] cerateByteArray(byte... arr){
return arr;
}
public void sample(){
byte b1 = 0;
byte b2 = 1;
byte[] wanted_byte = createByteArray(b1,b2);
}
還是短方式:
byte[] b = {0x01, 0x02};
由於問題是關於如何減少代碼行......這個解決方案如何解決它? – mah
請注意,你在做什麼不是鑄造。 –
您正在創建一個新的(短)'byte'數組並將'byte'的值複製到其中。他們現在是單獨的項目。 – chrylis
@Andreas你正在創建一個元素的數組。 Casting告訴編譯器它知道的一個對象現在應該被表示爲另一種類型。例如:final final Object o =「Hi」; final String s =(String)o;第二行有一個從Object到String的轉換。 –