Subtag implements Serializable, Cloneable,
		Comparable<Subtag> { public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((name == null) ? 0 : name.toLowerCase(Locale.ENGLISH).hashCode()); result = prime * result + ((type == null) ? 0 : type.hashCode()); return result; } Subtag(Language language);  Subtag(Script script);  Subtag(Region region);  Subtag(Variant variant);  Subtag(Extlang extlang);  Subtag(Singleton singleton);  Subtag(Type type, String name);   Subtag();  Subtag(Type type, String name, Subtag prev);   Subtag(Type type, String name, Subtag prev, Subtag next); Type getType(); String getName(); Subtag getPrevious(); Subtag getNext(); String toString(); int hashCode(); boolean equals(Object obj); Subtag clone(); boolean isDeprecated(); @SuppressWarnings("unchecked") T getEnum(); boolean isValid(); Subtag canonicalize(); static Subtag newWildcard(); int compareTo(Subtag o);  }
@Test public void testHashCode() { Subtag langSubtag1 = new Subtag(Language.DE); Subtag langSubtag2 = new Subtag(Language.DE); assertEquals(new Integer(langSubtag1.hashCode()), new Integer( langSubtag2.hashCode())); Subtag nullSubtag = new Subtag(null, null); nullSubtag.hashCode(); }