2011-08-05 9 views
-1

可能性の重複:JavaとJ2MEでjavaとj2meの文字列とメモリの制約についての違いはありますか?

String str=new String("Thamilan"); 

String str="Thamilan"; 


What is the difference between strings allocated using new operator & without new operator in java J2ME?

差、メモリの制約に関して。

+0

シバクマーに従うことによって、文字列のメモリ割り当てを計算することができ、なぜあなたは、[繰り返し質問を?]求めています(http://stackoverflow.com/questions/6952581/what-is-the-difference-between- string-allocated-new-new-operator-without-new) – bharath

答えて

0

最初の形式では、実行するたびに新しいStringオブジェクトが作成されます。 2番目の形式はありません。

これは、Java SEとJava MEの両方に適用されます。実際、Java SEとJava MEの文字列の基本的な表現は同じです。


new String(...)を使用することは、ほとんど常に不要で無駄です。新しいインスタンスを持つポイントはほとんどありません。すべてのStringオブジェクトはJavaでは不変です。

(新しい文字列を作成することが賢明であるまれな状況があります。あなたが大規模な文字列の部分文字列を取得し、その部分文字列が元のものよりもはるかに長いために到達する可能性があるときに一つはある。)

1

あなたはコード

int NumOfBytes = 8 * (int) ((((no chars) * 2) + 45)/8) ; 
+0

詳細をご記入ください(UTF-8に特に注意してください)。 –

+1

http://www.javamex.com/tutorials/memory/string_memory_usage.shtmlこのチュートリアルに従ってください。 – Coder

関連する問題