Array.toString() からの予期しない出力
Java では、配列を人間の配列に変換するために toString() メソッドがよく使用されます。 -読み取り可能な文字列表現。ただし、文字配列の場合、デフォルトの toString() 実装は、文字のランダムなシーケンスとして表示される予期しない出力を生成します。
この問題は、配列に対して実装されたデフォルトの toString() メソッドが配列の ID ハッシュ コード。「[C@ の後に 16 進数が続きます。この表現はデバッグ目的には役立ちますが、人間にとっては役に立ちません」消費.
解決策: Arrays.toString() の使用
人間が判読できる文字配列の文字列表現を取得するには、Arrays.toString() を利用する必要があります。このメソッドは、文字配列を特別に処理し、配列内のすべての文字を含む文字列に変換します。
以下Arrays.toString() の使用方法を示す更新されたコード スニペットです:
import java.util.Arrays; class ToString { public static void main(String[] args) { char[] array = {'a', 'b', 'c', 'd', 'e', 'f'}; System.out.println(Arrays.toString(array)); } }
このコードは、予期される出力「abcdef」を出力します。
説明
Arrays.toString() メソッドは、文字配列を含むさまざまなタイプの配列を処理するように特別に設計されています。配列を反復処理し、結果の文字列に各文字を追加します。このプロセスにより、人間が判読できる配列の文字列表現が生成されます。
デフォルトの動作の理由
配列のデフォルトの toString() 実装は、簡潔な配列を提供することを目的としていました。デバッグを目的とした配列の表現。 ID ハッシュ コードを表示することで、開発者は配列のメモリ位置をすばやく特定し、他の配列と区別できるようになります。
ただし、この表現は、配列の内容をユーザーに表示したり、配列の内容を表示したりする場合には実用的ではありません。文字列表現の読み取りまたは処理が意図されているシナリオで使用します。
以上がJava で「Array.toString()」が文字配列に対して予期しない出力を生成するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。