Class ClassKey

  • All Implemented Interfaces:
    Serializable, Comparable<ClassKey>

    public final class ClassKey
    extends Object
    implements Comparable<ClassKey>, Serializable
    Key class, used as an efficient and accurate key for locating per-class values, such as JsonSerializers.

    The reason for having a separate key class instead of directly using Class as key is mostly to allow for redefining hashCode method -- for some strange reason, Class does not redefine Object.hashCode() and thus uses identity hash, which is pretty slow. This makes key access using Class unnecessarily slow.

    Note: since class is not strictly immutable, caller must know what it is doing, if changing field values.

    See Also:
    Serialized Form