An interesting issue came up recently. We came across some code that is using hashCode() as a salt source for MD5 encryption but this raises the question: will hashCode() return the same value for the same object on different VMs, different JDK versions and operating systems? Even if its not guaranteed, has it changed at any point up til now?
EDIT: I really mean String.hashCode() rather than the more general Object.hashCode(), which of course can be overridden.