文字列リテラルを入力するたび""
に、同じStringオブジェクトが文字列プールで参照されることを理解しています。
しかし、なぜString APIにはが含まれていないpublic static final String Empty = "";
ので、への参照を使用できますString.Empty
か?
コンパイラは既存の文字列を参照することを知っており、再利用のためにすでに作成されているかどうかを確認する必要がないため、少なくともコンパイル時間を節約できます。そして個人的には、文字列リテラル、特に小さなリテラルの急増は、多くの場合「コードのにおい」だと思います。
String.Emptyの背後にグランドデザインの理由があったのか、それとも言語の作成者が私の見解を共有しなかったのか?
String.isEmpty()
関数があります...なぜあなたは欲しいのString.EMPTY
ですか?
String.isEmpty()
空の文字列は返しません。
outputBlah = ""
、と彼はおそらく好むsomething == String.Empty
オーバーsomething.Length > 0
だけでなく(あなたがnullチェックを省略します。)