private Integer index;
if(index == null) index = 0; else this.index = index;
Integer有一个明显的好处,就是它能比int多表示一个值,没错就是null。假如一个属性,名字叫a,假如它的类型是Integer,那它就可以区别来有和没有值,比如你刚new出来一个对象,还没来得及给a赋值呢,此时a就是null,对吧,没有值。如果换成int类型呢,他有值,是0。假如这个属性是age,用户不想告诉你他的年龄,他就把用户名,邮箱啥的填了,年龄他没有填,此时如果这个age是Integer类型的,默认值就是null,保存到数据库,也就是对应的年龄那一列没有值。如果这个age是int类型,默认是0,也就是说数据库年龄那一列是有值的,是0,0岁?当然你可以自己写逻辑额外处理一下。