Eclipseは使いにくい?Java入門者におすすめなのはIntelliJ IDEA!
野田竣介
フェルメール株式会社
今回はこのような質問をいただきました。
文字列を数値に変換するときに空文字を渡すとどうなるんだろう?
なんとなくエラーになると思うけど、やっぱり実際にやってみないとわからないですよね。
ということで今回は実際にやってみたいと思います!
なんとなく予想できたと思いますが、エラーになってしまいます。
NumberFormatExceptionですね。
“abcd” のような数値へ変換できないような文字列を入れた場合と同じですね。
// NumberFormatException発生
Integer integer = Integer.valueOf("");
// NumberFormatException発生
int i = Integer.parseInt("");
// これらと同じ
Integer integer2 = Integer.valueOf("abcd");
int i2 = Integer.parseInt("abcd");
ついでに文字列→数値、数値→文字列の変換処理のサンプルを書いておきます。
Integer型(参照型)がほしいのか、int型(プリミティブ型)がほしいのかによって変換方法が違います。
Integer型の場合はInteger.valueOf()、int型の場合はInteger.parseInt()を使います。
// Integer型の場合
Integer integer = Integer.valueOf("1");
// int型の場合
int i = Integer.parseInt("1");
いくつかやり方はあると思いますが、これが一般的かも?
String str = String.valueOf(1);
文字列を数値に変換するときに空文字を渡すとNumberFormatExceptionが発生します。
通常の変換できない文字列を入れた場合と同じ結果ですね。
エラーが起きやすいメソッドだと思うので、文字列の形式チェックであったり、例外処理だったりをしっかりする必要がありそうです。
文字列型の数値以外が入らないように注意しましょう!
こういうのってたまに気になって試しちゃいますよね。
Javaだとエラーで止まってくれるから良いけど、スクリプト言語だと見落としてしまいそう…
それなりに変換する機会はあると思うので注意しておきたいですね。