byte []数组的长度

时间:2014-03-12 15:49:34

标签: java arrays byte

String str = "123456789";
byte[] bytes = str.getBytes();

我想进行以下循环

for (int j = 0; j < bytes.length(); j++) {
  b = bytes[j];
}

b将存储我的数组的每个字节,但我似乎无法正确获取数组的长度。

Error:cannot find symbol
Problem solved:  bytes.length instead of  bytes.length()

5 个答案:

答案 0 :(得分:40)

在没有bytes.length

的情况下使用()

答案 1 :(得分:7)

请参阅JLS - 10.7. Array Members

  

数组类型的成员是以下所有成员:

     

public final field length,其中包含组件数   数组。长度可以是正数或零。

length属性,而不是方法。你应该写:

bytes.length

答案 2 :(得分:0)

不是bytes.length(),而是bytes.length

答案 3 :(得分:0)

为了获得数组的长度,请使用length。例如:

int[] arr = {1,2,3};
int length = arr.length;

要获取字符串的长度,请使用length()。例如:

String str = "123";
int length = str.length();

答案 4 :(得分:0)

getBytes()使用平台的默认字符集将String编码为字节序列,将结果存储到新的字节数组中。

尝试打印字节,您将看到编码值,这些编码值的长度可能与原始字符串不同。