有没有比这更好的方式从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的转换。 –