kentsu.dat

何かその時の興味でいろいろする人。最近はScala使ってる。アルゴリズムと自然言語処理、深層学習が大好き。

わざわざ記事にするほどではないjavaの型についてのお話

javaで型についてちょっとしたお話

 

javaでは型をプリミティブ型と参照型と大きく二分できる

 

プリミティブ型はオブジェクトではなく

逆に参照型はオブジェクトである

 

しかし、プリミティブ型をオブジェクトして扱いたい時がどうしてもある

 

そういう時はラッパークラスを使用してプリミティブ型をオブジェクトとして扱う

 

例えば

int x = 5

という変数をオブジェクトとして扱いたいときはint型のラッパークラスであるIntegerを使う

 

Integer translate = new Integer(x);

 

こうすることでプリミティブ型をラッパークラスを用いてオブジェクトに変換できる

 

そして値を取り出すには

 

int y = translate.intValue();

 

で、いい。

これはラッパークラスをプリミティブ型、今回であれば数値型に変換している

 

プリミティブ->オブジェクトの変換を

ボクシング変換という

その逆のオブジェクト、今回ならラッパークラス->プリミティブの変換を

アンボクシング変換という

 

java5以上ではわざわざ明示的に変換しなくても

これらは自動的に行われる、それらの変換を

オートボクシング、オートアンボクシングという