【发布时间】:2016-02-04 03:48:36
【问题描述】:
我有两个 ArrayList:
ArrayList<String> testList = new ArrayList<>();
ArrayList<String> wordList = new ArrayList<>();
它们被传递到一个方法中:
public static void binSearch(ArrayList a1, ArrayList a2)
在方法里面,我想比较两个ArrayList之间的字符串:
a1.get(i).compareTo(a2.get(newEnd / 2))
但是,我收到一条错误消息:
cannot find symbol
symbol: method compareTo(Object)
location: class Object
我听说有些人说我需要实现/扩展 Comparable,但似乎有些人在没有导入/实现/扩展任何东西的情况下使用该方法做得很好。
【问题讨论】:
-
ArrayList(没有泛型)没有实现Comparable(或者有一个名为compareTo(Object)的方法。您需要提供自定义比较器或将方法签名更改为更像@ 987654328@ -
@abdelhak newEnd 是一个 int,它保存 ArrayList 的索引,因为它是一种执行二进制搜索的方法
标签: java generics arraylist compareto