にNULLポインタを次のコードでは、私は気違い:文字列とJava
private String blahBlah(){
return null;
}
@Test
public void myTest(){
System.out.println(blahBlah()); //Good, output "null"
Object obj = blahBlah();
System.out.println(obj.toString()) //Good as above
//System.out.println(blahBlah().toString()); //Bad, NullPointerException
//System.out.println(((Object)blahBlah()).toString()); //Bad as above
}
誰もが上記の動作を説明できますか?
更新日:
上記のコードは真実ではありません。私が実際に経験したことは、NullPointerExceptionを受け取り、toString()の呼び出しに戻って追跡し、文中のキャスティングを含むさまざまな回避策を試しましたが、動作しません。しかし、別のキャストを使用した後、私は偶然、toString()
コールを削除しました。
Erm ... 'myTest' *の3行目は例外をスローしませんか? – luiscubal
申し訳ありませんが、私は観測されたコードから変更しました。私はそれを修正します。 –