If you check out the Float API Spec, you'll see this under the description of the equals method:
Note that in most cases, for two instances of class Float, f1 and f2, the value of f1.equals(f2) is true if and only if
f1.floatValue() == f2.floatValue()
also has the value true. However, there are two exceptions:
* If f1 and f2 both represent Float.NaN, then the equals method returns true, even though Float.NaN==Float.NaN has the value false. * If f1 represents +0.0f while f2 represents -0.0f, or vice versa, the equal test has the value false, even though 0.0f==-0.0f has the value true.
This definition allows hash tables to operate properly.
[ June 20, 2005: Message edited by: Corey McGlone ]
The compiler will provide a no-args constructor only if no other constructors are specified. If you specify any constructor (arguments or not), then the compiler will not add one. [ June 20, 2005: Message edited by: marc weber ]