我有一个通用类来表示一行值中的间隔。
public class Interval<T extends Comparable<T>> {
private boolean isStartInclusive;
private T start;
private T end;
private boolean isEndInclusive;
//constructors and getters and setters
}
我有这个相同类型间隔的列表。我正在尝试根据它们的起始值对它们进行排序。
因此,如果列表是
{[1,2],[0,3],[-10,4]}
我正在尝试
{[-10,4],[1,2]}
或
如果列表为
{['e','v'],['a','d'],['c','f']}
我正在尝试
{['a','f'],['e','v']}
下面的排序代码。
public static <T extends Comparable<T>> List<Interval<T>> sortIntervals(List<Interval<T>> intervals) {
Interval[] intervalsArray = intervals.toArray(new Interval[0]);
Arrays.sort(intervalsArray,(o1,o2) -> o1.getStart().compareTo(o2.getStart()));
return Arrays.asList(intervalsArray);
}
但是在调用Arrays.sort
的行中,有一个编译器警告:Unchecked call to 'compareTo(T)' as a member of raw type 'java.lang.Comparable'