Google検索エンジン

トップページ » Javaキャスト入門 » Objectとintの型変換


Objectとintの型変換

  • Objectとintについて

    Objectは参照型であり、クラス階層のルートです。 すべてのクラスは、スーパークラスとして Object を持ちます。 intは数値を扱うプリミティブ型であり、間接参照することはできません。 プリミティブ型の領域については、Java入門講座の変数を参照してください。


    Objectとintの型変換

    プリミティブ型は、間接参照することはできません。 つまり、intの値”10”などをObject型の変数に直接代入することはできません。 そこで、ラッパークラスでラップして型変換してから代入します。

    JDK5.0(Tiger)以降は、オートボクシング機能により、暗黙的に型変換されるので、一部においてラッパークラスを記述したり、intValue()などのメソッドを記述する必要がなくなりました。


    Object型からプリミティブ型への変換

    以下のサンプルプログラムでは、Objectから各プリミティブへ型変換しています。 Object型をプリミティブ型へ変換するには、Object型の値を初期値とするラッパークラスのオブジェクトを生成する必要があります。

    サンプルソースコード
    class sample {
    
        public static void main(String args[]) {
    
            Object obj = 12;
            String objStr = obj.toString();
    
            byte num1 = new Byte(objStr).byteValue();
            short num2 = new Short(objStr).shortValue();
            int num3 = new Integer(objStr).intValue();
            long num4 = new Long(objStr).longValue();
            float num5 = new Float(objStr).floatValue();
            double num6 = new Double(objStr).doubleValue();
    
            // オートボクシング機能(JDK5.0以降)
            byte numA = new Byte(objStr);
            short numB = new Short(objStr);
            int numC = new Integer(objStr);
            long numD = new Long(objStr);
            float numE = new Float(objStr);
            double numF = new Double(objStr);
    
            System.out.println( num1 );
            System.out.println( num2 );
            System.out.println( num3 );
            System.out.println( num4 );
            System.out.println( num5 );
            System.out.println( num6 );
            System.out.println( numA );
            System.out.println( numB );
            System.out.println( numC );
            System.out.println( numD );
            System.out.println( numE );
            System.out.println( numF );
        }
    }
    

    ※サンプルソースコードにおいて、Objectの値を文字列に変更したり、小数や領域外の数に変更すると、NumberFormatExceptionが発生します。


    プリミティブ型からObject型への変換

    以下のサンプルプログラムでは、プリミティブ型からObject型へ変換しています。

    サンプルソースコード
    class sample {
    
        public static void main(String args[]) {
    
            byte num1 = 1;
            short num2 = 2;
            int num3 = 3;
            long num4 = 4;
            float num5 = 5;
            double num6 = 6;
    
            Object obj1 = new Byte(num1);
            Object obj2 = new Short(num2);
            Object obj3 = new Integer(num3);
            Object obj4 = new Long(num4);
            Object obj5 = new Float(num5);
            Object obj6 = new Double(num6);
    
            // オートボクシング機能(JDK5.0以降)
            Object objA = num1;
            Object objB = num2;
            Object objC = num3;
            Object objD = num4;
            Object objE = num5;
            Object objF = num6;
    
            System.out.println( obj1 );
            System.out.println( obj2 );
            System.out.println( obj3 );
            System.out.println( obj4 );
            System.out.println( obj5 );
            System.out.println( obj6 );
            System.out.println( objA );
            System.out.println( objB );
            System.out.println( objC );
            System.out.println( objD );
            System.out.println( objE );
            System.out.println( objF );
        }
    }
    

    次ページでは、Object型とString型のキャストについて説明します。


Javaキャスト入門
it-manual.comのウェブサイト
書籍の紹介
  • Java ポケットリファレンス
    Java ポケットリファレンス
    発売:2011/03/25
    定価:2,709円
    著者:高江 賢
    出版:技術評論社
    内容:ベーシックだけど忘れてしまいがちな情報をコンパクトなサイズに凝縮し、「逆引き形式で目的からすぐ探せる」「サンプルコードを見ながら具体的な実装のイメージがつかめる」特徴で現場に欠かせない1冊です。
  • プログラマが知るべき97のこと
    プログラマが知るべき97のこと
    発売:2010/12/18
    定価:1,995円
    著者:和田 卓人
    出版:オライリージャパン
    内容:世界中で活躍するプログラマによる97本のエッセイを収録した書籍です。プログラミングにおいてもっとも重要な事柄は何か、バージョン管理やテスティング、設計原則とコーディングテクニック、また腕を磨くための勉強法などについて、経験豊かなプログラマが自らの体験を踏まえて解説します。
  • Effective Java 第2版 (The Java Series)
    Effective Java
    発売:2008/11/27
    定価:3,780円
    著者:Joshua Bloch他
    出版:ピアソンエデュケーション
    内容:著者のGoogle, Sun Microsystemsにおけるソフトウェア開発で得た知識・経験をまとめています。Javaプログラミングをする全てのSE必読の書籍です。
  • プログラミング言語Java (The Java Series)
    プログラミング言語Java
    発売:2007/04
    定価:4,410円
    著者:ケン・アーノルド他
    出版:ピアソンエデュケーション
    内容:Javaの原典と呼べる本です。変数、コメント、定数、制御、クラス、配列、文字列、例外処理までわずか30ページで進むので、Javaを学習し始めたばかりの方には少し難しいかもしれません。厚さの割に価格も手ごろなので、Java使いなら本棚に置いておきたい本です。
  • なぜ、あなたはJavaでオブジェクト指向開発ができないのか―Javaの壁を克服する実践トレーニング
    なぜ、あなたはJavaでオブジェクト指向開発ができないのか
    発売:2004/12
    定価:2,289円
    著者:小森 裕介
    出版:技術評論社
    内容:Javaのソフトウェア開発を中心に事業を発展させてきたSMG社の新人教育セミナーを加筆・書籍化したもので、大卒の新人に対して、ゼロからJava言語を教えてきた実績をフィードバックしています。