この前、後輩がやたら変な思い込みをしていたのが気になったのでメモ。
「Javaのクラスは全部参照型だから、==じゃアドレス比較になるんです」
public class Equal
{
public static void main(String args[])
{
int[][] a = new int[1][1];
a[0][0] = 5;
//↓ここでは、アドレス比較がされ
if(a[0][0] == 5)
{
//ここにたどり着かないと言い張るのだ
}
}
}
そもそもの間違い
そもそも、int型は値型だし。これができなかったら、演算子オーバーロードもないJavaではどれだけ不便なんだと。
その課題が、2次元配列を利用する物だった。2次元配列の特性上、そういう勘違いをしたのかな。それとも、根本的に何かを理解し間違ってるのかな。結局、聞けずじまいだった。
私がまるでJavaを何も知らないみたいな口調で攻め立ててくるから、少しムッとしたのは事実。私が子供でした。
