String类的hashCode方法为何选用31作为乘数因子?