Integer.parseInt("~");とInteger.valueOf("~");の違い

Javaの文字列⇒数値変換についてです。

と見せかけて本当の目的はSyntaxHighlighterの挙動確認です。(SyntaxHighlighterとは)

 

Integer.parseInt("~");とInteger.valueOf("~");の違いは返却値がプリミティブかラッパー型のオブジェクトかだけです。

数値変換した値はプリミティブとして扱うことがほとんどだと思うので、とりあえずInteger.parseInt("~");を使えば良いかと。

 

どちらも"~"の部分が空文字やnullの場合NumberFormatExceptionで落ちるので時と場合に応じて回避か例外処理を忘れずに。

		try {
			int i1 = Integer.parseInt("");
			int i2 = Integer.valueOf("1");
			System.out.println(i1 + " " + i2);
		} catch (NumberFormatException nfe) {
			// 例外処理
			System.out.println(nfe.getMessage());
		}