この前、後輩がやたら変な思い込みをしていたのが気になったのでメモ。
「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を何も知らないみたいな口調で攻め立ててくるから、少しムッとしたのは事実。私が子供でした。