字节

2015-04-23 42 views
0

数组的声明我碰到一个数组声明,看起来像这样走过来:字节

byte [] byteArray = StringFormatter.padWithSpacesTo("", 1000).getBytes(); 

该行之后使用以下行:

putBytes(byteArray, name, 0); 
    putBytes(byteArray, addressLine1, 100); 

这是什么数组声明做什么?

+1

这是平台默认的编码'1000'空间的字节表示。 –

+0

事实上,问题太广泛了。哪一部分你不明白? – Abhay

+0

我的疑问是为什么我们需要创建一个像这样的字节数组。我们可以使用** byte [] byteArray = new byte [1000]; **请参阅更新部分中的下一行代码。 – Leo

回答

4

它使用StringFormatter创建一个由空格填充的1000个字符的字符串。然后它使用getBytes()将其作为字节数组返回。

因此,它会创建一个长度为1000个字符的数组,在平台默认编码中填充“'(几乎可以肯定是32)。

这是不是真的做的事情一个很好的办法......一个更好的办法是Arrays.fill

+0

@BoristheSpider增加额外的信息,好主意。 –

+0

我们可以使用byte [] byteArray = new byte [1000];而不是上面的代码? – Leo

+0

@Leo是的,那将是正确的方法。请注意,虽然新数组将填充0而不是32.如果您需要32位,请使用Arrays.fill。 –