質問: 色々調べてはみたのですが、これだ!というものが 見つけられなったので、みなさんの意見を頂きたいです。 int型変数をStringにして返すメソッドを作成したのですが、 その際のreturnの書き方について 【1】return int.toString(); 【2】return String.valueOf(int); 【3】return (String) int; のいずれでも問題なく動作はするのですが、 どれが一番適当なのでしょう? returnは一時的にキャストすれば良いだけだから?と考えて【3】を使ったのですが、 【1】と【2】については 【1】ラッパークラスで用意されてるtoStringメソッド 【2】Stringクラスで用意されているvalueOfメソッド という違いだけで、好みで使えばいいものなのでしょうか? キャストを使うタイミングが掴みきれない私です。 よろしくお願いします。
回答: > .NETなら確か全部通るね。ただしtoString()ではなくToString()だけど。 ん?【3】は通らないでしょ。 【3】はJavaも通らないよね? 通るとしたら、Javaはどういう理屈で通るの? (int → Integerがauto-boxingで解決でも、そこから(String)でキャストするには、コンパイラが内部的にtoStringの呼び出しに置き換えるのだろうか?)