parseIntとvalueOfの違いって何!?
皆さん
こんにちは、こんばんは
TomoProgです。
毎日ブログ更新4日目。
頑張っていきましょう。
今日はJavaのIntegerクラスのparseIntとvalueOfの違いについて調べてみます。
parseIntとvalueOfを実行してみる
public class Main { public static void main(String[] args) throws Exception { // Here your code ! int i = Integer.valueOf("123"); System.out.println(i); int j = Integer.parseInt("123"); System.out.println(j); } }
実行結果: 123 123
実行結果同じですね・・・
一体何が違うんだ・・・
やはり頼りになるのはGoogle先生!!
先生に聞いてみましょう。
「parseInt valueOf 違い」で検索すると下のサイトに簡潔に書いてありました。welovy.hatenablog.com
どうやら戻り値が異なるということを言っているようです。
Integerクラスを確認してみる
リファレンスでIntegerクラスのメソッドを調べてみましょう。
public static int parseInt(String s) public static Integer valueOf(String s)
なるほど。
parseIntは戻り値がint型なのに対し、valueOfではIntegerクラスが戻り値なんですね。
Integerクラスはint型のラップクラスとして実装されていて、valueOfやparseInt以外にもcompareToやequalsなど、様々なメソッドを持っているみたいです。
プリミティブ型とは
プリミティブ型というのはデータを格納するための、最も基本的な型のことを言うそうです。
Javaでは下記の8種類をプリミティブ型と呼んでいます。
・byte ・short ・int ・long ・char ・float ・double ・boolean
まとめ
- parseIntは戻り値がint型(プリミティブ型)
- valueOfは戻り値がIntegerクラス
やっぱり実行結果が一緒でも何か違いはあるものですね。
それではまた〜
TomoProg