引数がStringしか入れれないところに
integerだけを入れると当然コンパイルエラーが返ってきますが
"" + integer
とするとコンパイルが通ります
いまいち納得できないのですが
これはStringとして認識してるのでしょうか?

また
Integer.toString()
や
キャストでのStringの変換とどう違うのでしょうか?