2
public class StringTest
{
    public static void main(String... args)
    {
        String str=null;
        System.out.println(str);
    }
}

このコードが null を表示するのはなぜですか? 参照変数をprintln()メソッドに渡すと、メソッドが呼び出されtoString()ます。String クラスの場合、toString()現在のオブジェクトを返すメソッドが呼び出されます。String str=nullオブジェクトが存在しないことを意味します。

4

3 に答える 3

5

ドキュメントレポートSystem.out.println(String):_

文字列を出力して、行を終了します。このメソッドは、 を呼び出してから を呼び出すかのように動作しprint(String)ますprintln()

レポートのドキュメント:print(String)

文字列を出力します。引数が のnull場合、文字列 "null" が表示されます。それ以外の場合、文字列の文字はプラットフォームのデフォルトの文字エンコーディングに従ってバイトに変換され、これらのバイトはメソッドとまったく同じ方法で書き込まれますwrite(int)

于 2013-06-28T14:21:04.350 に答える
1

あなたの答えはここにあります:

文字列を出力します。引数が null の場合、文字列 "null" が表示されます。

このメソッドは、print(String) を呼び出してから println() を呼び出すかのように動作する」ことに注意してください。

于 2013-06-28T14:20:42.593 に答える
0

文字列 str=""; を試してください。

null は、そのメモリ空間に何もないことを意味します... "" を使用すると、内部の空白がカウントされ、その変数のスペースメモリが作成され、同時に何も表示されなくなります (それだと思います)

于 2013-06-28T14:24:39.483 に答える