I am thinking about something like this:
public static <T extends Comparable<T>> T minOf(T...ts){ SortedSet<T> set = new TreeSet<T>(Arrays.asList(ts)); return set.first(); } public static <T extends Comparable<T>> T maxOf(T...ts){ SortedSet<T> set = new TreeSet<T>(Arrays.asList(ts)); return set.last(); } But is not null safe, which is something I want too.
Do you know a better way to solve this problem?
EDIT:
After the comments I have also tried min():
public static <T extends Comparable<T>> T minOf(T...ts){ return Collections.min(Arrays.asList(ts), new Comparator<T>(){ public int compare(T o1, T o2) { if(o1!=null && o2!=null){ return o1.compareTo(o2); }else if(o1!=null){ return 1; }else{ return -1; } }}); } What do you think of that?
<T extends Comparable<? super T>>