-3
我創建了FictionBooks的ArrayList
,我試圖按作者姓名的字母順序對它們進行排序。這是我迄今爲止的代碼。如何按字母順序排列ArrayList <>的元素?
import java.util.*;
import java.util.Collections;
public class Library implements Comparator<FictionBook> {
private static final int CAPACITY = 200;
public ArrayList<FictionBook> fictionBooks;
public Library() {
fictionBooks = new ArrayList<FictionBook>();
}
//...
@Override
public int compare(FictionBook o1, FictionBook o2) {
if(o1.getAuthor() != null && o2.getAuthor() != null){
return o1.getAuthor().compareTo(o2.getAuthor());
}
return 0;
}
public void sort() {
Collections.sort(fictionBooks, String.CASE_INSENSITIVE_ORDER);
}
}
但每當我嘗試使用Collections.sort
它給了我這個錯誤排序:
在類型
Collections
方法sort(List<T>, Comparator<? super T>)
不適用於參數(ArrayList<FictionBook>, Comparator<String>)
如果你來我會很感激解決我的問題並與他人分享。