Вы можете попасть в эту ситуацию, если у вас есть какие-либо значения NaN:
Например:
public class Test
{
public static void main(String[] args) {
double a = Double.NaN;
double b = Double.NaN;
double c = 5;
System.out.println(a < b);
System.out.println(a > b);
System.out.println(b < c);
System.out.println(c < b);
}
}
Все из этих отпечатков false
.Таким образом, вы можете оказаться в ситуации, когда два значения, отличных от NaN, будут считаться «равными» NaN, но одно будет больше другого.По сути, вы должны понять, как вы хотите обрабатывать значения NaN.Также убедитесь, что это действительно проблема, конечно ... Вы действительно хотите, чтобы значения NaN соответствовали вашей физической форме?