Boolean b = new Boolean(false);
According to FindBugs (and rightly so) should not instantiate Boolean objects in Java as we did above. Instead we must use the creational method provided to us.
Boolean b = Boolean.valueOf(false);
This is better for performance. Since we can have only two Boolen values, either true or false, the JVM can cache both these objects, and we can reuse them across our application by using the above creational method, instead creating new Boolean objects every time we need them.
Discuss this post in the learning forum.