Try adding

  public static hashCode(Object key) {
      return 3;
  }

to MyClass.  Such a class is broken by the proposed change.

On Tue, Oct 27, 2009 at 2:49 AM, Ulf Zibis <ulf.zi...@gmx.de> wrote:

> Correction:
>
>
> public class MyClass1 {
>  private final int value;
>
>  public MyClass1(int value) {
>      this.value = value;
>  }
>
>  public static int hashCode(MyClass1 obj) {
>      return 3 * obj.value;
>  }
>
>  public static void main(String... args) {
>      MyClass1 c = new MyClass1(99);
>      System.out.println(c.hashCode());
>      System.out.println(hashCode(c));
>      System.out.println(Object.hashCode(c)); // compile error if using
> official version of class Object
>  }
> }
>
>
> -Ulf
>
>
>

Reply via email to