有以下代码:class Value { int i; public boolean equals(Value v) { return v.i == i; } } publ
有以下代码:class Value { int i; public boolean equals(Value v) { return v.i == i; } } public class Test { public static void main(String[] args) { HashSet<value> set = new HashSet <value> (); Value v1 = new Value(); Value v2 = new Value(); v1.i = v2.i = 39; set.add(v1); set.add(v2); System.out.println(set.size()); } } 以下哪句是正确的?
A、无法编译
B、通过编译,打印出1
C、通过编译,打印出2
D、通过编译,但是运行的时候出错,说“set.add(v2);”这行试图加入一个已经存在的值