| 317 | } |
| 318 | |
| 319 | public static boolean isGreaterThan(Object a, Object b) { |
| 320 | if (a != null && b == null) return true; |
| 321 | if (a == null || b == null) return false; |
| 322 | |
| 323 | a = normalizeIntIfNeeded(a); |
| 324 | b = normalizeIntIfNeeded(b); |
| 325 | |
| 326 | if (a instanceof Long && b instanceof Long) { |
| 327 | return ((Long) a) > ((Long) b); |
| 328 | } else if (a instanceof Integer && b instanceof Integer) { |
| 329 | return ((Integer) a) > ((Integer) b); |
| 330 | } else if (isNumber(a) || isNumber(b)) { |
| 331 | return toDouble(a) > toDouble(b); |
| 332 | } else if (a instanceof String && b instanceof String) { |
| 333 | return ((String) a).compareTo((String) b) > 0; |
| 334 | } else { |
| 335 | return false; |
| 336 | } |
| 337 | } |
| 338 | |
| 339 | public static boolean isLessThan(Object a, Object b) { |
| 340 | return !isGreaterThan(a, b) && !isEqual(a, b); |