IntegerやLongのMIN_VALUEは負の値。
でも、DoubleやFloatのMIN_VALUEは負の値ではない。
MIN_VALUE
double 型の正の非ゼロ最小値です。
Javadocより
つまりは、doubleで表現できる、一番0に近い正の数ってことかね?
見事にハマった・・・。
おまけ。
System.out.println(Double.MIN_VALUE);
System.out.println(Double.MIN_VALUE > 0);
↓
4.9E-324
true