falseを出力する次のJavaコード:
class Value {
int i;
}
public class EqualsMethod2 {
public static void main(String[] args) {
Value v1 = new Value();
Value v2 = new Value();
v1.i = v2.i = 100;
System.out.println(v1.equals(v2));
}
}
代わりに結果が真ではないのはなぜですか?いくつかのJavaドキュメントを読んでいると、次の答えが見つかりました。equals()のデフォルトの動作は、ハンドルを比較することです。しかし、v1とv2はハンドルではありませんか?
前もって感謝します。