I remember doing this in the past and the string concat became a perf issue. In my case I ended up with one map for strings and one map for the other primitives since only strings can possibly overlap with non strings.