重複の可能性:
Java J2ME で new 演算子を使用して割り当てられた文字列と new 演算子を使用していない文字列の違いは何ですか?
との差
String str=new String("Thamilan");
と
String str="Thamilan";
Java および j2me では、メモリの制約に関して。
重複の可能性:
Java J2ME で new 演算子を使用して割り当てられた文字列と new 演算子を使用していない文字列の違いは何ですか?
との差
String str=new String("Thamilan");
と
String str="Thamilan";
Java および j2me では、メモリの制約に関して。
次のコードで文字列のメモリ割り当てを計算できます
int NumOfBytes = 8 * (int) ((((no chars) * 2) + 45) / 8) ;
String
最初のフォームは、実行するたびに新しいオブジェクトを作成します。2 番目の形式にはありません。
これは、Java SE と Java ME の両方に当てはまります。実際、Java SE と Java ME の文字列の基本的な表現は同じです。
を使用するnew String(...)
ことは、ほとんどの場合不要で無駄です。新しいインスタンスを持つ意味はほとんどありません。Java では、すべてのString
オブジェクトが不変です。
(まれに、新しい文字列を作成することが推奨される状況があります。1 つは、大きな文字列の部分文字列を取得し、その部分文字列が元の文字列よりもはるかに長く到達可能である可能性が高い場合です。)