今まで、StringからIntegerに変換する場合、(主にクライアント側からPKなどのリクエストパラメータを取得する場合)
①Integer.parseInt(str)
②Integer.valueOf(str)
③new Integer(str)
こんな方法を使い、あまり意識して使いわけていなかったが、
①は戻り値がint
②は戻り値がInteger
③はIntegerオブジェクトを生成
と、厳密に違うらしい。
(考察)
①はint型に変換してjavaのオートボクシング機能があったから、勝手に変換してくれてたが無駄に変換する文、冗長な処理だと感じる。
②はIntegerクラスのスタティックなメソッドを使っているかと思われるので、これがこの3つの中だと一番正しいと感じる。
③は一見②とあまり変わらないように見えるが、Integerオブジェクトを無駄に生成しているので、処理的には無駄。・・・きっとすぐガーベージコレクションの対象となってしまうのだろう。
考察してみたが、とりあえず②を使っていれば問題なさそう。
どれも予想なのでどこかのタイミングでAPIを見ることにしよう。