我有一個問題。 我創建了數字接口,並且我在接口中創建了靜態最終對象。如果我修改對象並檢查相等性,則返回true。我重寫了'等號',問題沒有改變。java界面靜態最終對象相等錯誤
下面是代碼:
public interface Numeric<T extends Number> extends Cloneable, Comparable<T> {
public static final Numeric<Short> SHORT = new Numeric<Short>() {
private short value = (short) 0;
@override
public Numeric<Short> add(Short value) {
this.value += value;
return this;
}
@override
public Short value() {
return value;
}
}
public Numeric<T> add(T value);
public T value();
//....
}
public class Test {
public static void main(String[] args) {
Numeric<Short> one = Numeric.SHORT;
Numeric<Short> two = Numeric.SHORT;
one.add(Short.MIN_VALUE);
System.out.println(two.value()); //print -32768!!!!! why not 0?
}
}
謝謝回答!