では前回の続きです。
引き続き、基本データ型とオブジェクト参照型の型変換を説明するのですが、今回は特にString型について扱います。
■String→基本データ型
実はラッパークラスにはXXXValueメソッド以外にもを基本データ型に変換するためのstaticメソッドも用意されています。
それがparceXXXメソッドです。(XXXにはラッパークラスが入る)
parceXXXメソッドの引数には対応する基本データ型かString型の値が渡されます。
ただし、Character型だけはString型を引数にとることができません。
理由は、「文字列」を「文字」に変換することができないからです。
ではサンプルをみてみます。
●TypeConvStr_01.java
public class TypeConvStr_01 { public static void main(String[] args) { int x = Integer.parseInt(args[0]); int y = Integer.parseInt(args[1]); System.out.println("x + y : " + (x + y)); } }
●実行結果
●解説
・このプログラムはコマンドライン引数で入力された2つの整数の合計を求めるためのプログラムです。
・3,4行目
コマンドライン引数はString型ですので、int型に変換しています。
・6行目
実行時に渡したコマンドライン引数の合計が出力されます。
・ただしこの場合、intの範囲の整数しか変換できないの注意して下さい。
「a」や「3.14」などは実行時エラーになってしまいます。
■基本データ型→String型
これはちょっとしたテクニックになります。
・TypeConvStr_02.java
public class TypeConvStr_02 { public static void main(String[] args) { int i = 10; String str = "" + i; } }
最早解説の必要もないでしょう。
基本データ型の値をString型に変換したいのであれば、「””」という空文字と+演算子で文字列結合してあげればいいのです。
簡単そうに見えますが、なかなか一人では気づきにくいものです。
■まとめ
- String型を基本データ型に変換するには、各ラッパークラスのparceXXX()メソッドを使う
- 基本データ型をString型に変換するには、空文字と文字列結合する
長かったですが型変換はこれでお終いです!