如何在没有转换错误的情况下添加到新的 ArrayList?

How to add to new ArrayList without a conversion error?

我一直收到一条错误消息,指出 void/boolean 无法转换为 ArrayList 。但是,我正在传递最大 quakeData 的索引,并且应该返回一个 QuakeEntry 以将其添加到我的新 ArrayList 答案中。我不知道如何解决这个问题。

public ArrayList<QuakeEntry>getLargest(ArrayList<QuakeEntry> quakeData, int howMany) {
    ArrayList<QuakeEntry> answer = new ArrayList<QuakeEntry>();
    int bigIndex = indexOfLargest(quakeData);
    answer = answer.add(quakeData.get(bigIndex));

    return answer;
}

我认为您只需要 return answer 列表:

public ArrayList<QuakeEntry>getLargest(ArrayList<QuakeEntry> quakeData, int howMany) {
    ArrayList<QuakeEntry> answer = new ArrayList<QuakeEntry>();
    int bigIndex = indexOfLargest(quakeData);
    answer.add(quakeData.get(bigIndex));

    return answer;
}

List#add() 方法 return 是一个 boolean 值,如果添加成功则为真。尝试将 List#add 的结果分配给您的 answer 列表是没有意义的。但是,在您的情况下,该方法要求您 return 一个 List<QuakeEntry>,所以就这样做吧。