Java 确定两个区间范围是否有交集
@Test public void test01() { Double[] a = new Double[]{90D, Double.MAX_VALUE}; Double[] b = new Double[]{10D, 90D}; a = new Double[]{0D, 10D}; boolean overlap = isIntervalOverlap(a, b); if (overlap) { System.out.println("相交"); } else { System.out.println("不相交"); } } private static boolean isIntervalOverlap(Double[] inrA, Double[] inrB) { if (inrA.length < 2 || inrB.length < 2) { throw new RuntimeException("区间范围必须包含两个值以上"); } Arrays.sort(inrA); Arrays.sort(inrB); // (StartA <= EndB) and (EndA >= StartB) if (inrA[0] < inrB[inrB.length - 1] && inrA[inrA.length - 1] > inrB[0]) { return true; } else { return false; } }