When you say that you are “job type value”, I assume that you mean the value returned by toString . If you look at the java document, it reports that:
The toString method for the Object class returns a string consisting of the name of the class whose object is the instance, the at-sign `@ 'character, and the hexadecimal representation of the object’s hash code. In other words, this method returns a string equal to the value:
getClass().getName() + '@' + Integer.toHexString(hashCode())
And if you look at the Java document for the hashCode method, it states:
Whenever it is called by the same object more than once during the execution of a Java application, the hashCode method must consistently return the same integer
and
As reasonably practical, the hashCode method defined by the Object class returns different integers for different objects. (This is usually done by converting the internal address of the object to an integer, but this implementation method is not required by the JavaTM programming language.)
Update: Response to Ryan's comment: System.identityHashCode will provide you with the source hash code, even if the hashcode method is overridden. However, like notes, a note is not unique.
So, I think the answer to your questions is yes, its immutable and very likely to be unique, but you must read the documents or source code for your JVM.
source share