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()
使用する bytes.length
なし()
JLS-10.7。配列メンバー を参照してください:
配列型のメンバーはすべて次のとおりです。
public final field length
。配列のコンポーネントの数が含まれます。長さは正またはゼロです。
length
はプロパティであり、メソッドではありません。あなたは書くべきです:
bytes.length
bytes.length()
ではなく、bytes.length
配列の長さを取得するには、length
を使用します。例えば:
_int[] arr = {1,2,3};
int length = arr.length;
_
文字列の長さを取得するには、length()
を使用します。例えば:
_String str = "123";
int length = str.length();
_
getBytes()プラットフォームのデフォルトの文字セットを使用して文字列をバイトシーケンスにエンコードし、結果を新しいバイト配列に格納します。
元の文字列と比較して長さが異なるエンコードされた値が表示されるバイトを印刷してみてください。