equals and hashCode methods follow the the rules laid out in Effective Java by Joshua Bloch. To generate a KeyFactory, you need to supply an interface which describes the structure of the key. The interface should have a single method named newInstance, which returns an Object. The arguments array can be anything--Objects, primitive values, or single or multi-dimension arrays of either. For example:
private interface IntStringKey { public Object newInstance(int i, String s); } Once you have made a KeyFactory, you generate a new key by calling the newInstance method defined by your interface.
IntStringKey factory = (IntStringKey)KeyFactory.create(IntStringKey.class); Object key1 = factory.newInstance(4, "Hello"); Object key2 = factory.newInstance(4, "World");
Note: hashCode equality between two keys key1 and key2 is only guaranteed if key1.equals(key2) and the keys were produced by the same factory.
@version $Id: KeyFactory.java,v 1.26 2006/03/05 02:43:19 herbyderby Exp $
| |