今回はラッパークラスについてです。
最近は入門書を読み終えて、〇aizaのスキルチェック問題(Dランク)を解きながら手を動かして慣らしています。
そこではよく計算問題が出てくるので、最初に文字列として渡されたデータをInt型などに直したりしないといけないことが多々ありました。
そこで使ったのがラッパークラスでした。
今回は文字列⇔整数の変え方をメモしておきます。
ラッパークラスとはなんぞやと思い調べたら、
「ラッパークラスとは基本型の値をラップするオブジェクトの事」で、ではラップするとは何なのかというと、
「基本型データに対して何かしらの操作を行う時、オブジェクトとして扱えるようする」こと。
例えるなら、目の前に「りんご」があるとします。それを梱包して配達物で見るような「荷物」という外見に変化させること。りんごをそのまま郵便局に持って行っても受け付けてはくれませんので、荷物として扱われるような処理を施して初めて、その後の処理を受け付けてくれます。 といった具合でしょうか。間違っていたらスイマセン。
では実際にどういう使い方をするのか。
問題では例えば、与えられた数字を10倍するとどんな結果になるのかという算数の問題がよく出てきます。
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); //Scannerクラスは指定した型の値を読み込むクラス
String line = sc.nextLine(); //例えばline == "5"である時
System.out.println("XXXXXX");
}
}
変数lineは、String型になっていますので、このままでは計算に使えないためInt型に変換します。
System.out.println();より上で、
int n = Integer.parseInt(line);
Integerというラッパークラスを使って、引数の中身を整数として扱う(ParseIntの部分)という処理をしたデータを変数nに代入しました。
後は計算結果を表示するだけでOKです。
System.out.println(n*10); //n == 5;
50
では次は数値から文字列です。
先ほどの変数n を再び文字列にする場合、
String str = Integer.toString(n);
toStringでも、引数の中に変換したい型の値を入れればOKです。
今回はここまでとします。
何かご指摘ありましたら、ツッコミよろしくお願いいたします!