1: private static <T extends Comparable<? super T>> 2: boolean binarySearch(T[] anArray, int first, int last, T desiredItem) 3: { 4: boolean found; 5: int mid = first + (last - first) / 2; 6: 7: if (first > last) 8: found = false; 9: else if (desiredItem.equals(list[mid])) 10: found = true; 11: else if (desiredItem.compareTo(list[mid]) < 0) 12: found = binarySearch(anArray, first, mid - 1, desiredItem); 13: else 14: found = binarySearch(anArray, mid + 1, last, desiredItem); 15: 16: return found; 17: } // end binarySearch 18: 19: public static <T extends Comparable<? super T>> boolean inArray(T anEntry) 20: { 21: return binarySearch(anArray, 0, anArray.length - 1, anEntry); 22: } // end inArray 23: // Version 4.0