String () { String range; if (myInvert) { if (myFrom == myTo) { range = "!= " + (Double.compare(myFrom, -0.0) == 0 && Double.compare(myTo, 0.0) == 0 ? "\u00B10.0" : myFrom); } else { String first = myFrom == Double.NEGATIVE_INFINITY ? "" : formatRange(Double.NEGATIVE_INFINITY, nextDown(myFrom)); String second = myTo == Double.POSITIVE_INFINITY ? "" : formatRange(nextUp(myTo), Double.POSITIVE_INFINITY); range = StreamEx.of(first, second).without("").joining(" || "); } } else { range = formatRange(myFrom, myTo); } String result = "double"; if (!range.isEmpty()) { result += " " + range; } if (!myNaN) { result += " not NaN"; } else if (!range.isEmpty()) { result += " (or NaN)"; } return result; }