今まで、StringからIntegerに変換する場合、(主にクライアント側からPKなどのリクエストパラメータを取得する場合)


①Integer.parseInt(str)

②Integer.valueOf(str)

③new Integer(str)

こんな方法を使い、あまり意識して使いわけていなかったが、

①は戻り値がint

②は戻り値がInteger

③はIntegerオブジェクトを生成

と、厳密に違うらしい。

(考察)

①はint型に変換してjavaのオートボクシング機能があったから、勝手に変換してくれてたが無駄に変換する文、冗長な処理だと感じる。

②はIntegerクラスのスタティックなメソッドを使っているかと思われるので、これがこの3つの中だと一番正しいと感じる。

③は一見②とあまり変わらないように見えるが、Integerオブジェクトを無駄に生成しているので、処理的には無駄。・・・きっとすぐガーベージコレクションの対象となってしまうのだろう。



考察してみたが、とりあえず②を使っていれば問題なさそう。

どれも予想なのでどこかのタイミングでAPIを見ることにしよう。