はじめに
皆さん。こんにちは!
DreamHanksの254cmです。
今回はファイルの入出力について説明していきます。
Java記事のまとめはこちらです。
前回の記事は【Java開発】第21回 ファイルの入出力です。
ラッパークラス
ラッパークラスは基本型の変数をオブジェクトとして扱うためのクラスです。
ラッパークラスは各基本型に該当するクラスが存在し、該当する基本型の値を持つことができます。
ラッパークラスは基本型と似ていますが、ラッパークラスは外部で値を変更することはできません。
ラッパークラス
サンプル
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
public class WrapperClassSample { public static void main(String[] args) { Byte byte1 = 1; Short short1 = 100; Integer integer1 = 1000; Long long1 = (long)10000; Float float1 = 1.6f; Double double1 = 1.0; Character character1 = 'x'; Boolean boolean1 = true; Integer integer2 = new Integer(10); } } |
上記のサンプルのように基本型の値を代入して初期化することもできますし、
newキーワードでインスタンスを生成して初期化することもできます。
ラッパークラスのメソッド
ラッパークラスも一般的なクラスのようにメソッドを持っています。
ラッパークラスはequals(),compareTo(),型キャスト用のメソッドなどを共通に持っています。
サンプル
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
public class WrapperClassSample { public static void main(String[] args) { Integer val1 = new Integer(10); Integer val2 = new Integer(20); if(val1.equals(val2)) { System.out.println(val1); } else { System.out.println(val1.compareTo(val2)); } byte byteValue = val2.byteValue(); short shortValue = val2.shortValue(); int intValue = val2.intValue(); long longValue = val2.longValue(); float floatValue = val2.floatValue(); double doubleValue = val2.doubleValue(); } } |
上記のサンプルのように型キャストメソッドを使用して型キャストができます。
しかし、型キャストメソッドはNumberクラスを継承するクラスしか使えません。
※Byte,Short,Integer,Long,Float,DoubleなどがNumberクラスを継承しています。
ボクシングとアンボクシング
基本型の値をラッパークラスに格納する過程をボクシング(Boxing)と
ラッパークラスの値を基本型の値に変換する過程をアンボクシング(Unboxing)と呼びます。
サンプル
1 2 3 4 5 6 7 8 |
public class WrapperClassSample { public static void main(String[] args) { Integer val1 = new Integer(10); // Boxing int val2 = val1.intValue(); // Unboxing } } |
Java5以前のバージョンには上記のようにボクシングとアンボクシングを行いましたが、
Java5からオートボクシングとオートアンボクシング機能を支援しました。
オートボクシングとオートアンボクシングは基本型の変数の操作方法のようにラッパークラスを扱ってもできるようにする機能です。
サンプル
1 2 3 4 5 6 7 8 |
public class WrapperClassSample { public static void main(String[] args) { Integer val1 = 10; //Auto Boxing int val2 = val1; //Auto Unboxing } } |
上記のように一般の基本型の変数みたいに使ってもコンパイラーがボクシングとアンボクシング処理で取り替えます。
終わりに
今回の記事は以上になります。
次回はGenericを学びましょう。
ご覧いただきありがとうございます。
コメント