転職を繰り返したサラリーマンの多趣味ブログ

30才未経験でSEに転職した人の多趣味ブログ

【技術書メモ】【パーフェクトJava⑨】基本型変数と参照型変数の違い

参照型変数とは

名前がないオブジェクトを、名前を持った変数を通して、オブジェクトを操作できる。
変数にオブジェクトを結び付けているともいえるが、あくまでオブジェクトの位置情報を指し示しているだけ。

基本型変数とは

変数が値(数値)そのものを保持する。数値を名前つきで扱えるようになる。

基本型変数と参照型変数の違い

StringBuilder sb = new StringBuilder();
StringBuilder sb2 = sb;

sb.append("012");
sb2.append("345");

// 012345と出力される
System.out.println(sb);

StringBuilderオブジェクトは1つ。変数名は違えど、同じオブジェクトの文字列に対して変更を加えている。

int i = 21;
int k = i;
i++;

// iの値は22と出力される
System.out.println(i);
// kの値は21と出力される
System.out.println(k);

基本型変数は、値をコピーしているだけ。よって、変数kには、変数iの値である21をコピーしただけ。