A character string is converted into a hashcode following Java
conventions by
s[1]*31^(n-1) + s[2]*31^(n-2) + ... + s[n]
using integer arithmetic, where s[i] is the i:th character
of the string, n is the length of the string. The hash value of
the empty string is zero.
For all other objects, by default as.integer() is called.