この質問をする主な理由はStringが異なる言語でどのように認識されるかについての特定の違い。私はC ++のバックグラウンドを持ち、現在はStringが不変のJavaで作業しています。だから私は違いを知りたいと思いました
String m = "" ;
そして
String n = null ;
mのポインタがJavaで特別にメモリ位置を指しているかどうかを知ることはおもしろいでしょうか?
回答:
回答№1は0String m = null ;
オブジェクトを参照しません。
String m = "" ;
オブジェクトを参照します。
回答№2の場合は0
""として初期化すると、文字列への値。ただし、nullとして初期化すると、実際にはnull以外のものを指していません。結局、最初の文字列メソッド(equals、length、replaceAll、...)では文字列メソッドを使用できますが、2番目のメソッドでは使用できません。