プリミティブを文字列に変換したいのですが、試しました:
myInt.toString();
これはエラーで失敗します:
int cannot be dereferenced
ここで、プリミティブは参照型ではない (つまり、オブジェクトではない) ため、メソッドを持つことができないことがわかりました。ただし、Java 5 では、オートボクシングとアンボクシングが導入されました (C# のように... C# では好きではありませんでしたが、それは重要ではありません)。したがって、オートボクシングでは、上記が myInt を Integer に変換してから toString() を呼び出すことを期待します。
さらに、私の記憶が間違っていない限り、C# ではそのような呼び出しが許可されていると思います。これは、Java の autoboxing/unboxing 仕様の残念な欠点にすぎないのでしょうか?それとも正当な理由があるのでしょうか?