The primitive wrapper classes contain numerous static factory methods, like valueOf and toString. Unfortunately, the specs for these methods often promise that *new* objects are returned. One of the main advantages of static factories over constructors is that previously allocated objects with the same value can be returned instead.