3.如果不提供public构造函数,让用户只能通过上面的方法获得静态变量的引用,还可以大大简化equals()方法:
public boolean equals(Object obj) {
return this==obj;
}
可以直接用==比较引用,绝对没有问题,而且效率最高。
4.为什么JDK的Boolean没有实现上面第3点?因为那两个static变量TRUE和FALSE是在jdk 1.2以后才有的,由于前面的版本已经把构造函数申明为public,所以为了保持客户端代码能够不修改也在后面的版本中运行,只好继续提供public构造函数。
文章来源于领测软件测试网 https://www.ltesting.net/