Javaの場合、次のようなものを書くと
Integer i = new Integer(20);
上記の場合、objはヒープに割り当てられます
C#の場合
Int32 i = new Int32();
i=10;
この場合、オブジェクトはスタックに割り当てられます
これらは実装上の違いだけですか、それとももっと多くの違いがありますか?
修正: C#の整数をInt32に変更しました
C# にはプリミティブではなく構造体があるため、Java でプリミティブをラップする理由の多くは C# には当てはまりません。以下は、構造体を使用でき、プリミティブでは実行できないことの一部です。
ヒープで必要な場合は、ボックス化できます。このリンクはそれを説明していますhttp://msdn.microsoft.com/en-us/library/yz2be5wk.aspx。