@634

Primitive vs Wrapper

Advertisement

特徴

Primitive

Javaに存在する変数の中で唯一オブジェクトとして扱われないもの。数値、論理値を扱う。一般にオブジェクト変数に比べてメモリ使用量が少ない、演算が速いと言われている。

Wrapper

java.lang.Integerクラスやjava.lang.Longクラスなど、java.langパッケージ下に定義されている、オブジェクトでプリミティブ型を表すクラス。ラッパー(包む)クラスと呼ばれる。コレクションクラスなどではプリミティブ型変数を扱えないため、ラッパークラスが必要。

比較プログラム

プリミティブ
public class primitive {
    public static void main(String[] args) {
        int number = 10;
        int sum = 0;

        long startTime = System.currentTimeMillis();
        for(int i = 0; i < 10000000; i++){
            sum = sum + number;
        }
        long endTime = System.currentTimeMillis();
        System.out.println((endTime - startTime) + " msec");
    }
}

ラッパー
public class primitive {
    public static void main(String[] args) {
        int sum = 0;
        Integer number = new Integer(10);

        long startTime = System.currentTimeMillis();
        for(int i = 0; i < 10000000; i++){
            sum = sum + number.intValue();
        }
        long endTime = System.currentTimeMillis();
        System.out.println((endTime - startTime) + " msec");
    }
}

比較結果

プリミティブ
60 msec

ラッパー
181 msec

Advertisement

ショートカット

634
634ブログ
このカテゴリのトップページに戻る
Incubator(Pukiwiki)
634ラボ
   UIコレクションギャラリー
   ZO-3ジェネレーター

サイト検索


Y!ログール