为什么不同布尔实例的哈希代码总是相同的?
在下面的代码中,哈希代码始终相同。为什么会这样?
法典:
public class BooleanClass {
public static void main(String[] args) {
Boolean b1 = new Boolean(true);
Boolean b2 = new Boolean(false);
Boolean b3 = new Boolean(true);
Boolean b4 = new Boolean(false);
Boolean b5 = new Boolean(false);
Boolean b6 = new Boolean(true);
System.out.println(b1.hashCode());
System.out.println(b2.hashCode());
System.out.println(b3.hashCode());
System.out.println(b4.hashCode());
System.out.println(b5.hashCode());
System.out.println(b6.hashCode());
}
}
输出:
1231
1237
1231
1237
1237
1231
始终使用相同的数字并打印出来。任何原因?1231
1237